摘要: 二元运算符 (&) 为整型和 bool 类型预定义了二进制 & 运算符。对于整型,& 计算操作数的按位“与”。对于 bool 操作数,& 计算操作数的逻辑“与”;也就是说,当且仅当两个操作数均为 true 时,其结果才为 true。条件“与”运算符 (&&) 执行布尔操作数的逻辑“与”运算,但如有必... 阅读全文
posted @ 2014-10-07 23:47 zhanbiqiang 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 我见过最棒的证明是文氏图:(首先要知道二元布尔代数是集合的特殊情况,所以把X和Y当作两个集合,结论成立,那么在二元布尔代数里面也成立。)左边的圈是X,右边的圈是Y。如果是OR 也就是取或,中间的白色的也要填成红色的。但是,异或 的英文名字叫做exclusive-or ,意思是除掉了(中间部分)的or... 阅读全文
posted @ 2014-10-07 21:31 zhanbiqiang 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 1.有两个变量a,b,不用if、?: 、switch 或其他判断语句,找出两个数中较大的:int max = ((a+b)+abs(a-b))/2较小的:int min = ((a+b)-abs(a-b))/22.给3个整数a,b,c,用函数实现取3个数的中间数,不用sort。inline int ... 阅读全文
posted @ 2014-10-07 17:42 zhanbiqiang 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 法一:我们考虑x,y在二进制表示时候,按位相加其中第i位xi+yi=((xi&yi)<<1)+(xi^yi)其中(xi&yi)<<1表示当xi和yi都是1是,需要进位1.xi^yi表示不考虑进位,当前位的值.把所有这些数据相加,也就是x+y=Sum{xi*2^i}+Sum{yi*2^i}=Sum{(... 阅读全文
posted @ 2014-10-07 16:56 zhanbiqiang 阅读(433) 评论(0) 推荐(0) 编辑
摘要: (x&y) + ((x^y)>>1)相当于(x+y)/2(x&y)+((x^y)>>1),把x和y里对应的每一位(指二进制位)都分成三类,每一类分别计算平均值,最后汇总。其中,一类是x,y对应位都是1,用x&y计算其平均值;一类是x,y中对应位有且只有一位是1,用(x^y)>>1计算其平均值;还有一... 阅读全文
posted @ 2014-10-07 15:40 zhanbiqiang 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 在C语言中,调用一个不带原型声明的函数时:调用者会对每个参数执行“默认实际参数提升(default argument promotions)。同时,对可变长参数列表超出最后一个有类型声明的形式参数之后的每一个实际参数,也将执行上述提升工作。提升工作如下:——float类型的实际参数将提升到doubl... 阅读全文
posted @ 2014-10-07 10:19 zhanbiqiang 阅读(833) 评论(0) 推荐(0) 编辑
摘要: int main (int argc, char **argv) { unsigned int a = 0xFFFFFFF7; unsigned char i = (unsigned char)a; char* b = (char*)&a; printf("i = %08x\nb = %08x\n",i,*b); return 0; } /* ----- E... 阅读全文
posted @ 2014-10-07 09:54 zhanbiqiang 阅读(270) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/goal00001111/article/details/5490612 阅读全文
posted @ 2014-10-07 09:05 zhanbiqiang 阅读(121) 评论(0) 推荐(0) 编辑