1. x=x&(x-1)能够清除x二进制中最右边的1,利用循环可以计算出x转换为二进制后包含1的数目。
2.计算较大数字的二进制数值时,建议除以16,直接求解4位二进制更为快捷。
3. printf()函数的运算顺序为从右向左(printf()函数在读取参数时,是从左到右的,再存入栈中,运算便从栈顶开始)。
4. sizeof()用于计算某种类型的对象在内存中所占的字节数(boo=1,char=1,int=4,float=4,double=8)
5. int float double 在内存中的存储方式:
6.string是c++ 的头文件,其内包含了一个string类,string s1就是建立一个string类的对象,string.h的c语言的东西 并无类,所以不能 string s1。(原来iostream是C++的头文件,iostream.h是C的头文件,即标准的C++头文件没有.h扩展名)
7.(x&y)+((x^y)>>1) 此语句表示(x+y)/2,x&y表示取相同位(即表示x,y的相同位相加的一半)x^y表示取不同位,右移一位则表示除以2.
8. 用条件运算符求三个数的中间数:mid=a>b?(c>a?a:(b>c?b:c)):(a>c?a:(b>c?c:b))
9.将a b的值进行交换,不采用中间变量:a=a^b;a=a^b;b=a^b;