zz不用比较求大数max(int a, int b)
来源:互联网 发布:mac photo shop 破解 编辑:程序博客网 时间:2024/05/17 06:23
要求:
不能使用 if、for、while、?:() 或其他任何带有判断性质的语句。不能使用内部实现有判断语句的函数。
写一个函数,max(int a, int b)返回a、b中较大的一个。不能用( abs(a+b) + abs(a-b) ) * 0.5,据说abs函数中也 使用了 if 语句。
=========http://ike.126.com
/**//**************************************************
Purpuse : Evaluate the bigger one of two integers。
Author : ALNG
Date : 2003-03-11
Original : http://search.csdn.net/Expert/topic/1515/1515035.xml
**************************************************/
// 如果 i >= 0,返回0。否则返回1。在 max() 中被调用。
inline int signof(int i)
{
return unsigned(i) >> (sizeof (int) * 8 - 1);
}
// 返回两个整型参数中数值较大的参数的值。
int max(int a, int b)
{
int p[2];
p[0] = a;
p[1] = b;
return p[signof(a - b)];
}
=====
a & b 比较大小有三种情况
a > b (这种情况下 a-b>0)
a < b (这种情况下 a-b<0)
a = b (不用说了,再说就废话连篇了)
计算机编码中(int类型的)
>0 = 0XXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
<0 = 1XXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
这样就有一个特点,右移31bit就会出现 0,1
如果为 0 则 a 大
如果为 1 则 b 大
- zz不用比较求大数max(int a, int b)
- 写一个不用cmp指令不用临时变量的int max(int a,int b)函数 不用if ? : switch
- gcd(int a, int b) //求最大公约数
- 不用比较运算符,判断int型的a,b两数的大小的答案
- 不用比较运算符,判断int型的a,b两数的大小。
- 不用比较运算符,判断int型的a,b两数的大小
- 不用比较运算符,判断int型的a,b两数的大小的答案
- 不用比较运算符,判断int型的a,b两数的大小的答案
- int *a; int &a; int & *a; int * &a 比较
- int Random (int a, int b)
- 不用比较运算符,判断int型的a,b两数的大小,考虑溢出问题
- 不用比较运算符及循环控制语句,判断int型的a、b两数的大小
- 不用比较运算符及循环控制语句,判断int型的a、b两数的大小
- 不用比较运算符及循环控制语句,判断int型的a、b两数的大小
- 不用比较运算符及循环控制语句,判断int型的a、b两数的大小
- int*a, int& b, int* &c, int& *d
- 不调用if比较两个int a, b大小
- int[] a与int b[] 一样吗
- 互联网工程任务组(IETF)简介
- Visual C++编程技巧
- zzC/C++中的日期和时间
- VC++【系统热键】
- JUnit 之孤立测试
- zz不用比较求大数max(int a, int b)
- NET中"无法显示 XML 页。 使用 XSL 样式表无法查看 XML 输入。"
- VC++ 读取和保存文件对话框及默认目录!
- zz谈谈Windows程序中的字符编码
- wind的技术学习blog开张了
- zz谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
- (25)'c++:COMPLETE REFERENCE' 第一部分 第三章(语句) 第六、七节
- asp.net控件开发基础(1) ----------接触自定义控件
- 使用Rational Robot测试含有数据关联的Web应用