你的位置:主页 > 明升客户端 > 原码,反码和补养码

原码,反码和补养码

admin 发布于 2018-09-26 07:57   浏览 次  

  壹. 机具数和真值

  在念书原码, 反码和补养码之前, 需寻求先了松机具数和真值的概念.

  1、机具数

  壹个数在计算机中的二进制体即兴方法, 叫做此雕刻个数的机具数。机具数是带标记的,在计算机用壹个数的最高位寄存放标记, 正数为0, 正数为1.

  譬如,什进制中的数 +3 ,计算机字长为8位,替换成二进制坚硬是00000011。假设是 -3 ,坚硬是 10000011 。

  这么,此雕刻边的 00000011 和 10000011 坚硬是机具数。

  2、真值

  鉴于第壹位是标记位,因此机具数的方法值就不一于真正的数值。比如次面的拥有标记数 10000011,其最高位1代表负,其真正数值是 -3 而不是方法值131(10000011替换成什进制等于131)。因此,为区佩宗见,将带标记位的机具数对应的真正数值称为机具数的真值。

  例:0000 0001的真值=+000 0001=+1,1000 0001的真值=–000 0001=–1

  二. 原码, 反码, 补养码的基础概念和计算方法.

  在探寻求为什么机具要运用补养码之前, 让我们先了松原码, 反码和补养码的概念.关于壹个数, 计算机要运用壹定的编码方法终止存放储. 原码, 反码, 补养码是机具存放储壹个详细数字的编码方法.

  1. 原码

  原码坚硬是标记位加以上真值的对立值, 即用第壹位体即兴标记, 其他位体即兴值. 譬如假设是8位二进制:

  [+1]原=0000 0001

  [-1]原=1000 0001

  第壹位是标记位. 鉴于第壹位是标记位, 因此8位二进制数的取值范畴坚硬是:

  [1111 1111 , 0111 1111]

  即

  [-127 , 127]

  原码是人脑最轻善了松和计算的体即兴方法.

  2. 反码

  反码的体即兴方法是:

  正数的反码是其本身

  正数的反码是在其原码的基础上, 标记位不变,其他各个位取反.

  [+1]=[00000001]原=[00000001]反

  [-1]=[10000001]原=[11111110]反

  却见假设壹个反码体即兴的是正数, 人脑无法直不清雅的看出产到来它的数值. 畅通日要将其替换成原码又计算.

  3. 补养码

  补养码的体即兴方法是:

  正数的补养码坚硬是其本身

  正数的补养码是在其原码的基础上, 标记位不变, 其他即席取反, 最末+1. (即在反码的基础上+1)

  [+1]=[00000001]原=[00000001]反=[00000001]补养

  [-1]=[10000001]原=[11111110]反=[11111111]补养

  关于正数, 补养码体即兴方法亦人脑无法直不清雅看出产其数值的. 畅通日也需寻求替换成原码在计算其数值.

  叁. 为什么要运用原码, 反码和补养码