补码的运算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如,两位十进制计数器,它的计数容量是00—99,模=100。 时钟的计数容量是0—11,模=12。
[X]补数=模-X 如,模=100 X=25 [X]补数=100-25=75 若:65-25=40 则可以:65+[25]补数=65+75=140=40
练习:模是100,计算6-3=3,用补数的加法实现。 模是12,计 算6-3=3,用补数的加法实现。
求补码的方法:正数不用求补码,正数的原码等于补 码。负数的补码是以该负数的原码求反码然后再+1获 得。
练习:已知真值分别为+64、-64、+127、-127,+1,-1, 求补码。 解:64的二进制数是0100 0000,则, [+64]原码= 0100 0000(40H),[-64]原码= 1100 0000 (C0H)。 [+64]反码= 0100 0000(40H),[-64]反码= 1011 1111(BFH)。 [+64]补码= 0100 0000(40H),[-64]补码= 1100 0000(C0H)。
六、补码的运算(带符号数)
1.补码的加法。 补码的加法:两个补码相加,算法与二进制数加
法相同,也可以用十六进制数相加。注意:和仍然是 一个补码,符合补码的定义。 2.验算结果。
由补码求真值的方法是:先求出补码对应的原码, 再求出真值。 对补码再进行求补码的运算,就得X到 原码。
从补码求原码的方法:正数不用求原码,原码等 于补码。负数的补码符号位不变,数值部分按位取反, 然后再+1,得到原码。
二、无符号数的运算
1. 与手工二进制运算的方法相同(指运算电路)。 2. 可以用十六进制数的运算代替二进制数的运算,计 算时不容易出错,而且快捷。
三、原码表示法(带符号数)
1. 正数。最高位是符号位用“0”表示正号,即15~0 位的第15位为“0”,7~0位的第7位为“0” 。 2. 负数。最高位是符号位用“1”表示负号,即15~0 位的15位为“1” ,7~0位的7位为“1” 。
七、带符号数补码的范围
1. 8位带符号数补码的范围 -128~+127, 80H~ 7FH或0X80~0XFF。
2. 16位带符号数补码的范围-32768~+32767, 8000H~7FFFH或0X8000~0X7FFF
八、不带符号数的范围
1. 8位不带符号数的范围 0~255, 00H~FFH或0X00~0XFF。
例1:(-64)-(+20)=(-64)+(-20)=-84 例2:( +20 )-(-64) = (+20)+(+64)+=+84
六、补码的运算(带符号数)
练习用补码计算: (-64)-(+64)=-128 (-1)+(+127)= +126 (-128)+(+1)=-127
1. 十进制数转换成二进制数。 2. 写成原码。即加上符号位,0——正数,1——负数。 3. 写成补码。正数不用求补码。负数的补码,符号位 不变,保持1,数值部分取反,0——1,1——0,再 +1。 4. 写成16进制数。 5. 直接加或直接减。 6. 验算结果是否正确。
五、补码表示法(带符号数)
1. 正数。原码等于补码。 2. 负数。反码的最高位 “1”不变,数值部分+1。
例如,+20的原码是0001 0100,-20的原码是1001 0100。 则, +20的反码是0001 0100,-20的反码是1110 1011。
则, +20的补码是0001 0100,-20的补码是1110 1011。
64的二进制数是0100 0000,则+64的原码是 0100 0000 (40H),-64的原码是1100 0000 (C0H)。
四、反码表示法(带符号数)
1. 正数。原码等于反码。 2. 负数。原码的最高位 “1”不变,数值部分“1” 变“0”, “0”变“1” 。
例如,+20的原码是0001 0100,-20的原码是100Biblioteka Baidu 0100。 则,+20的反码是0001 0100,-20的反码是1110 1011。
求反码的方法:正数不用求反码,正数的原码等于反 码。负数的反码是以负数的原码再求反码。
练习:已知真值分别为+64、-64、+127、-127,求反码。 解:64的二进制数是0100 0000,则, [+64]原码=0100 0000 (40H),[-64]原码= 1100 0000 (C0H)。 [+64]反码= 0100 0000 (40H),[-64]反码= 1011 1111 (BFH)。
六、补码的运算(带符号数)
4.补码的减法。 说明:计算机不能做减法。采用的方法是对减数
进行变补,再与被减数相加实现的。变补运算的方法: 连同符号位一同取反+1。
手工算法:直接减。不论被减数是大于、等于或 小于减数,均用被减数减减数,当被减数小于减数时, 直接向高位借位,结果仍然正确,而且是一个补码。
2. 16位不带符号数的范围0~65535, 0000H~FFFFH或0X0000~0XFFFF。
The End! Thank you For your listening!
补码的运算
补码的运算:
1 无符号数的运算 2 原码的表示方法 3 补码的表示方法 4 补码的运算 5 带符号数的范围 6 无符号数的范围
一、机器数
计算机中参与运算的数被称为机器数,有如下特 点: 1. 计算机中参与运算的数均是二进制数。这是因为, 运算电路是由只能识别“0”、“1”的数字电路组成。 2. 机器数有带符号数和无符号数两种。 3. 带符号的机器数有原码、反码与补码三种表示方式。 4. 无符号数没有原码、反码与补码的区分。 5. CPU的运算电路是按补码的运算规律设计,因此, 进行运算的带符号数均用补码表示。
注意:由真值求补码或由补码求真值的方法,都必须用二进制数表 示才能够进行。
六、补码的运算(带符号数)
3.补码的运算原理。 说明:计算机中的CPU仅有加法电路,没有减法
电路。采用补码运算的目的,是将减法变为加法。同 时,补码运算将符号位视为数共同参与运算,其结果 仍然不会出错。但是,补码运算的条件是运算器有固 定容量的即“模”。
例如,+20的原码是0001 0100, -20的原码是1001 0100。
练习:已知真值分别为+64、-64、+127、-127,求原码。
求原码的方法:先将真值转换成二进制数,再写成固 定的8位或16位,最高位用“0”或“1”表示数的正 号或负号。计算机就是以这种方法表示。真值就是带 符号的十进制数,如,+20 -20,+120,-120。
相关文档
最新文档