原码反码补码移码

原码反码补码移码 0所对应的原码反码补码移码?

0所对应的原码反码补码移码?

0所对应的原码反码补码移码?

原码:符号位为0表示正数,为1表示负数,数值部分用二进制数的绝对值表示的方法称为原码表示法,通常用[X]原表示X的原码。

反码:正数的反码与原码相同,负数的反码是符号位不变,数值位逐位取反。

补码:正数的补码与其原码相同;负数的补码是符号位不变,数值位逐位取反(即求其反码),然后在最低位加1。

移码也称为增码或偏码,常用于表示浮点数中的阶码。移码可由补码求得,只要把补码的符号位取反就得到了移码。

原码:小数:x= 0.0000 [x]原=0.0000

x=-0.0000 [x]原=1.0000

整数:x= 0 [x]原=0,0000

X=-0 [x]原=1,0000

反码:x= 0 [x]反=0,0000

X=-0 [x]反=1,1111

x= 0.0000 [x]反=0.0000

x=-0.0000 [x]反=1.1111

补码:x= 0 [x]补=0,0000

X=-0 [x]补=0,0000

x= 0.0000 [x]补=0.0000

x=-0.0000 [x]补=0.0000

移码:x= 0 [x]移=1,0000

X=-0 [x]移=1,0000

x= 0.0000 [x]移=1.0000

x=-0.0000 [x]移=1.0000

-17的原码反码补码移码?

原码10010001,反码11101110,补码

11101111。

x = -17d = -10001b

若字长8位:

[x]原 =1001 0001b

[x]反 =1110 1110b

[x]补 =1110 1111b用八位二进制表示,最高位表示符号位,1为负,0为正。补码为其绝对值的原码取反加1,17原码为00010001,取反加1为11101110+1=11101111

原码与补码的转换:

1、首先要知道转换规则:将原代码转换为逆代码:符号位不变,数字位分别“按位倒转”。

2、反向代码转换也是如此,但规则不同:符号位保持不变,数字位“按位倒转”。

3、然后,原码转换为补码的规则:保持符号位不变,数字位逐位反转,最后一位加1。

4、将最后的补码转换为原码:保持符号位不变,数字位按位反向,最后一位加1,即补码的补码等于原码。

5、补码(变量补码)的转换规则与之前不同,将符号位和数字位颠倒,最后一位加1。