计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法

前言
当前计算机功能繁多,无论是软件开发,还是大数据计算,归根结底都是0与1的信号的处理,也就是说信息存储和逻辑计算的元数据只能是0或者1,但是其在CPU中的物理表现方式确是低电平或者高电平。

1. 数据表示

计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
注:例题中的数字右下角分别代表10进制和二进制,权值的计算就是以二进制的例题为例就是一乘以二的三次方
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法

1.1无符号的数据表示

以CPU中有8条电路为例(便于理解假设),每条电路有低电平和高电平两种状态,该8条电路既可以表示2的8次方(256)种信号,最大的数为2的8次方减1(255),注:在此例中一条电路在计算机中被称为1位(bit,b),8个b组成一个单位,字节(Byte,B),实际上平时说的64位的电脑指的就是,能处理字长为64b的电路信号(通俗易懂就是有64条电路)

1.2有符号的数据表示

但是计算机中如何表示负数呢,规定最左一侧的位数为符号位,0表示整数,1表示负数,不参与数值表示
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
注:计算机中二进制整数最终都是以补码的形式出现的,因为补码的负数的表示范围比原码和反码多一个-128,所以8b的带符号的二进制数的表示范围-128~127,并且计算机中的二进制整数最终都是以补码的形式出现的

实例:

重要:计算机内部加减法的计算,符号位参与运算,运算的三者都是补码,运算结果要转换为原码才能转换为10进制,00100011(35)+11011011(-37)=11111110(补码)->11111110转为原码->10000010(-2)
其中的转换方法如下
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法