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

·

4

·

5 ·

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

(1)使用反码计算

由上可知,不可以使用反码计算

3.补码

正数的补码等于原码

负数的补码等于反码+1或(2^机器字长-|负数|)的原码

计算机中的加减法都是用补码计算的

数值0的补码表示:

        [+0]0补码=0 0000000

        [-0]0补码=0 0000000

(1)使用补码计算

4.移码

补码的符号位按位取反

移码主要用途是表示浮点数的指数(阶码)

5.浮点数

N=尾数*基数^阶码

基数:二进制时为2,八进制为8,十进制为10,十六进制为16

尾数:由小数组成,位数越多,数的精度越大

阶码:由整数组成,位数越多,数的表示范围越大

浮点数的表示格式: 阶符      阶码(移码)     数符       尾数(补码)

例:1.25*10^3   尾数1.25   基数10   阶码3

 

 

 

 

 

 

 

总结     正数   负数  
原码   最高位为符号位0,其他位置放二进制的绝对值   最高位为符号位1,其他位置放二进制的绝对值  
反码   等于原码   原码除符号位外,按位取反  
补码   等于原码   反码+1或(2^机器长度-|负数|)的原码  
移码   补码的符号位取反  

 

2025-06-27 08:15 点击量:5