原码、反码、补码相关知识与计算

1. 原码

1.1 原码的介绍

十进制数据的二进制表现形式,最左边是符号位,0为正,1为负


1.2 原码的表示

  1. 正数的原码反码补码是其本身。 如 7的原码:0000 0111
  2. 负数的原码符号位为1数值位为其绝对值。 如 -7的原码:1000 0111

若 X = +1110, 则[X]原 = 0,1110 用逗号隔开 符号位和数值位

若 X = -1110, 则[X]原 = 1,1110 用逗号隔开 符号位和数值位


1.3 原码的范围

注:1Byte (字节) = 8 bit (位)

所以使用原码表示一个字节的范围是(1111 1111 ~ 0111 1111),即(-127~127)


1.4 原码计算的弊端

利用原码进行计算的时候,如果是正数完全没有问题;但是如果是负数计算,结果就出错,实际运算的方向跟正确的运算方向是相反的。

在这里插入图片描述


2 反码

2.1 反码出现的目的

为了解决原码不能计算负数的问题。


2.2 反码的表示

正数的原码反码补码是其本身负数的反码是在原码的基础上,符号位不变。数值位取反,0变1,1变0。有 +0 -0 之分


2.3 常见负数的反码

在这里插入图片描述


2.4 反码的弊端

负数运算的时候,如果结果不跨0,是没有任何问题的,但是如果结果跨O,跟实际结果会有1的偏差。

在这里插入图片描述


3 补码

计算机中的存储和计算都是以补码的形式进行的。


3.1 补码出现的目的

为了解决负数计算时跨0的问题而出现的。


3.2 补码的表示

正数的原码反码补码是其本身,负数的补码在反码的基础上+1。
另外补码还能多记录一个特殊的值-128该数据在1个字节下,没有原码和反码。


3.3 常见负数的补码

在这里插入图片描述

在这里插入图片描述


4 综合计算

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_53139964/article/details/128022040