1 / 3
文档名称:

原码、反码、补码.docx

格式:docx   大小:13KB   页数:3页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

原码、反码、补码.docx

上传人:薄荷牛奶 2022/7/20 文件大小:13 KB

下载得到文件列表

原码、反码、补码.docx

文档介绍

文档介绍:整数的原码、反码和补码表示方法
一、 原码表示法
规定:最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的真实大小。例如:
(+7)原=(0 0000111)2 (-7)原=(1 0000111 )2,问题 1:
(+13整数的原码、反码和补码表示方法
一、 原码表示法
规定:最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的真实大小。例如:
(+7)原=(0 0000111)2 (-7)原=(1 0000111 )2,问题 1:
(+13)原=(? )2 (-13 )原=(? )2
二、 反码表示法
规定:正整数的反码与原码相同;负整数的反码是符号位除外,对其原码逐位取反。即
(0 变 1,1 变 0),例如:(+7)反=(0 0000111)2 (-7)反=(1 1111000 )2,问题 2:
(+17 )反=(? )2 (-17 )反=(? )2
三、 补码表示法
规定:正整数的补码与原码相同;负整数的补码是在反码的末位加1。例如:
(+7)补=(0 0000111) 2 (-7)补=(1 1111001 ) 2,问题 3:
(+20)补=(? )2 (-20)补=(? )2
四、 先看几个特列:
1、 数0的原码有两种形式:[+0]原=00000000B [-0]原=10000000B
2、 数0的反码有两种形式:[+0]反=00000000B [- 0]反=11111111B
3、 数 0 的补码表示形式:[+0〕补=00000000B [- 0]补=00000000B
从这里就可以看出,计算机只有采用补码才可以保证数字0编码的唯一性。下面,我们 再深入分析采用补码的原因,举个例子:(1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10
先看下原码的运算:
(00000001)原 + (10000001)原=(10000010)原=(-2 )显然不正确.。
下面是反码的运算:
(1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10
(00000001)反+ (11111110反=(11111111反=(-0 )有问题。因为0是没有正0和负 0之分的。我们换成补码试试,下面是补码的运算:
(1 ) 10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10
(00000001)补 + (11111111补=(00000000)补=(0 )正确
★补码在微型机中是一种重要的编码形式,请注意:
采用补码后,可以方便地将减法运算转化成加法运算。
与原码、反码不同,数值0的补码只有一个,即[0]补=00000000B。
若字长为8位,则补码所表示的范围为-128〜+127;进行补码运算时,应注意所得 结果不应超过补码所能表示数的范围。
五、快速求负数反码的方法
1、先写出该负数的相反数(正数),再将该正数的二进制码写出来。
2、 然后对这个二进制码按位取反,即若是1则改为0,若是0则改为1。
3、 最后在末位加1。
求(-128)的补码,将128化为二进制为:1 0000000,最高位为1,首先取反得:01111111, 加 1 得:1 0000000