快乐赚

补码反码原码的转换在线(关于计算机的原码,反码和补码)

 人阅读 | 作者舞动奇迹 | 时间:2023-08-26 13:49

一、转化方式

1、原码

把数值转成二进制,从右往左,位数不足补0。

首位是符号:0:正数 1:负数。

原码不能运算

2、反码

正数,反码 = 原码

负数:反码 = 原码 符号位不动,其他位数取反

3、补码

正数:补码 = 原码

负数:负数 补码 = 反码+1

4、移码

正数、负数:移码 = 反码 首符号位 取反。

5、示例:

数值6、-6的一个字节(8位),原码、补码、反码、移码

数值 6 -6

原码:0000 0110 (不变) 1000 0110

反码:0000 0110 (不变) 1111 1001 (符号位不动,其他位数取反)

补码:0000 0110 (不变) 1111 1010 (反码+1,符号位也进位,看下图)

移码:1000 0110 (反码首符号位取反) 0111 1010 (反码首符号位取反)

 

原码、反码、补码、移码

 

二、取值范围

原码: -(2^(n-1) - 1) 到 2^(n-1)-1 ; 8位: -127 到 127

反码:-(2^(n-1) - 1) 到 2^(n-1)-1 ; 8位:-127 到 127

补码:-2^(n-1) 到 2^(n-1)-1 ; 8位: -128 到 127 (因为补码的+0和-0是一样的)



文章标签:

本文链接:『转载请注明出处』