机战最新私服计算机数据的表示
·




CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,机战最新私服遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
文章标签:
#算法
于 2024-08-26 00:08:58 首次发布
1.原码
最高位是符号位,0表示正号,1表示负号,其余n-1位表示数值的绝对值
数值0的原码表示:
[+0]0=0 0000000
[-0]0=1 0000000
例如:带符号为的二进制数:1010,第一位1表示这个数是负数,010是数值,转十进制为2,所以1010转十进制为-2。
(1)使用原码计算使用原码做加法,可以计算出正确的结果

使用原码做减法,得出的结论不一定正确

应该等于0但是等于-2,是因为符号位引起的
由上可知,不可以使用原码计算
2.反码正数的反码等于原码
负数的反码就是他的原码除了符号位,其他位按位取反
反码存在的意义就是计算中的中间环节
数值0的反码表示:
[+0]0反码=0 0000000
[-0]0反码=1 1111111



由上可知,不可以使用反码计算
3.补码正数的补码等于原码
负数的补码等于反码+1或(2^机器字长-|负数|)的原码
计算机中的加减法都是用补码计算的
数值0的补码表示:
[+0]0补码=0 0000000
[-0]0补码=0 0000000


补码的符号位按位取反
移码主要用途是表示浮点数的指数(阶码)
5.浮点数N=尾数*基数^阶码
基数:二进制时为2,八进制为8,十进制为10,十六进制为16
尾数:由小数组成,位数越多,数的精度越大
阶码:由整数组成,位数越多,数的表示范围越大
浮点数的表示格式: 阶符 阶码(移码) 数符 尾数(补码)
例:1.25*10^3 尾数1.25 基数10 阶码3
总结 正数 负数
原码 最高位为符号位0,其他位置放二进制的绝对值 最高位为符号位1,其他位置放二进制的绝对值
反码 等于原码 原码除符号位外,按位取反
补码 等于原码 反码+1或(2^机器长度-|负数|)的原码
移码 补码的符号位取反