纷纭教育
您的当前位置:首页十进制-21的原码反码补码

十进制-21的原码反码补码

来源:纷纭教育


假如机器字长为8位

首先把-21转换为二进制(负数的最高位也就是符号位为1,正数为0)

原码:1

0010101

反码:1

1101010(符号位不变其他位按位取反得到)

补码:1

1101011(在反码的基础上加1得到)

扩展资料:

原码、反码和补码是计算机中对数字二进制的三种表示方法。

1、原码

原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

例如:用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011。

2、反码

反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。反码的表示方法是:正数的反码与其原码相同负数的反码是对正数逐位取反,符号位保持为1。

例如:

[+7]反= 0 0000111 B

[-7]反= 1 1111000 B。

3、补码

正数:正数的补码和原码相同。负数:负数的补码则是符号位为“1”。并且,这个“1”既是符号位,也是数值位。数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。

例如:

[+7]补= 0 0000111 B

[-7]补= 1 1111001 B。

显示全文