分析:长整数相加,将结果分为高位和低位部分,分别保存在两个32整数中. 比如:unsigned int a = 0xFFFFFFFF, unsigned int b = 0x1, 结果用unsigned int c保存,c = a + b ,这样c的结果是0x00000000,因为高于32位的部分被截断了,所以 低位部分的结果就是c里保存的内容,再用一个unsigned int变量保存结果的高位部分,高位部分只可能有两种值, 0 或 1 , 就好比十进制两个一位数相加,最大也就是9+9 , 进位…
今天遇到了一个问题,遇到一个32位的数据,写一个子函数来判断它的多少位是1.我的思路一开始是把这个数据变成一个32位容量的数组然后每个位去比较是不是1,如果是1,就用另一个变量加1.最后返回这个变量. 但是这样不对当而且也没有必要转成数组来做. int count_bit (unsigned int a) { ; while (a) { counts += a & 0x1u ; a >>= ; } return counts ; } 这个子函数,把想要判断的32位数据传入进来.然后先对…
机器平台:X86_64 处理器 操作系统:Red Hat 4.1.2-14 编译器: gcc version 4.1.2 20070626 Size of char is: 1 Size of unsigned char is: 1 Size of signed char is: 1 Size of int is: …
Windows 32bit版本安装Mongodb时,会发生的下面问题 2016-05-09T00:09:45.124+0800 I STORAGE [initandlisten] exception in initAndListen: 28663 Cannot start server. The default storage engine 'wiredTiger' is not available with this build of mongod. Please specify a dif…