版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cccmercy/article/details/84928687
计算机的数值存储
原码
即数值对应的二进制值
-
最高位为符号位,0表示正,1表示负
-
其他数值部分是数值本身绝对值的二进制数
-
负数的原码是在其绝对值的基础上,最高位是1
以1字节为例,正0为
0000 0000
,负0为1000 0000
反码
- 正数的反码与原码相同
- 负数的反码:符号位不变,其它位取反
补码
计算机存储数值用的是补码形式
- 正数的补码、反码、原码相同
- 负数的补码为其反码加1
- 负数由补码计算出原码:符号位不动,其它位取反,最后整个数加1
数值区间
有符号
N位的数值区间计算公式:-2^(N-1) ~ 2^(N-1)-1
如:8bit数值区间为:-2^7 ~ 2^7-1
32bit数值区间为:-2^31 ~ 2^31-1
无符号
N位的数值区间计算公式:0 ~ 2^N-1
8bit数值区间为:0 ~ 2^8-1
32bit数值区间为:0 ~ 2^32-1