发布于 2008-03-25 11:45:09
0楼
字=16位, 去掉符号位,那么就只有15位表示数据了,16位的整数分三块:
0<正整数<2的15次方;
0;
负 (2的15次方+1)<负整数<0。
关于负数为啥是那样,你得去看计算机原理里面的补码原理,
补码的大致原理是[color=red]
负数的补码为:取绝对值,再取反,再加1
比如-1补码为:-1的绝对值为1=2#0000_0000_0000_0001 (16位),再取反为2#1111_1111_1111_1110,再加1为2#1111_1111_1111_1111=16#FFFF=10#65536
[/color]
如果是无符号整数,那么整个16位都可以表示,那么范围为16#0000-16#FFFF,即最大65536。
同样的道理,32位的双字整数范围你算算?
I can do it