在使用PHP的CRC32函数的时候,因为在32位系统中,int是4个字节带符号位,因此输出结果最高位为1的时候,就变成负数了。
使用以下方式可以让输出结果不含符号位
sprintf('%u', crc32($Node['HBAID']));
如果你遇到这样的问题,按照上述方式处理就能药到病除。...
分类:
Web程序 时间:
2015-01-27 18:29:04
阅读次数:
223
一、C语言数据类型
1.数据类型
2.数据修饰符
数值类型的数据前面,还可以添加修饰符,用来改变数据类型的容量。
long:长型符
short:短型符
signed:有符号位
unsigned:无符号位
二、编译和运行指令
编译环境为:WinGW
配置环境变量:path后添加D:\MinGW\bin
进入.c文件所在目录
编译:gcc -c example.cp...
分类:
编程语言 时间:
2015-01-24 17:28:42
阅读次数:
179
转:http://www.ruanyifeng.com/blog/2009/08/twos_complement.html问一个主要的问题。负数在计算机中怎样表示?举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?非常easy想到,能够将一个二进制位(bit)专门规定为符号位,它等...
分类:
其他好文 时间:
2015-01-23 21:24:12
阅读次数:
166
在做项目时遇到uint8_t,于是上网查资料,找到参考答案:C语言中好像没有这种数据类型,但是在实际应用的过程中,发现许多人的代码中都存在这种表示方式。其实uintX-t就是通过typedef定义的,利用预编译和typedef可提高效率也方便代码移植。总结如下:
typedef unsigned char uint8_t; //无符号8位数
typedef si...
分类:
其他好文 时间:
2015-01-22 18:17:58
阅读次数:
143
用十六进制表示出来的代码,考虑到联合体的一些特性。计算机组成原理中反码补码原码的特性浮点数表示的IEEE754标准。对于32位,S(符号位(1)),E(阶码位(8)),M(尾数(23)).对于64位,S(符号位(1)),E(阶码位11)),M(尾数(52)).计算方法,符号位,0正1负。阶码位,计算...
分类:
其他好文 时间:
2015-01-22 15:02:16
阅读次数:
214
图上第一行signed char 占了8位,其中一位是符号位。其余7位是数字位,可以存2的7次方个数(0~127共128个数)。十进制-128~-1在存储时用二进制-0000000(0)~-1111111(127)表示十进制0~127在存储时用二进制+0000000(0)~+1111111(127)...
分类:
其他好文 时间:
2015-01-21 13:16:16
阅读次数:
163
说到数据类型,先把基本的数据类型拿出来byte 0 到 255 无符号 8 位整数sbyte -128 到 127 有符号 8 位整数short -32,768 到 32,767 有符号 16 位整数int -2,147,483,648 到 2,147,483,647 有符号 32 位整数long ...
java中>>(>>)表示无符号移位如:int num = 22;二进制是0001 0110, num>>>1,右移一位变成0000 1011(11)int num = -22二进制用补码表示:1110 1001, num >>>1无符号右移一位: 0111 0100>>向右移动后,最左边用符号位替...
分类:
编程语言 时间:
2015-01-15 23:38:43
阅读次数:
260
8个位 = 1字节 ,分配空间时,至少是1字节。最前面的位表示符号位 0正 1负 (如:0000 0110是6 ,1000 0110是负6)正数的原码就是反码也就是补码三位一体。负数的反码,符号位不变,其它位取反 (e.g. 负5的原码是: 1000 0101 反码是:1111 1010)负数...
分类:
其他好文 时间:
2015-01-09 22:16:00
阅读次数:
236
现实生活中,我们通常使用10进制来表示我们的数字,而在计算机中使用的是“0”和“1”表示数字的二进制。 如果我们用一个字节来存储一个数字,那么这个数字在计算机中的存储形式可能是这样的:00010011。最左边的0位在带符号数字中用来表示正负号,0代表正号,1代表负号,所以它也就叫做符号位;其他...
分类:
其他好文 时间:
2015-01-05 12:34:44
阅读次数:
204