文档介绍:会计学
1
原码反码和补码
原码反码和补码
机器数与真值
通常,数的正负号是用符号“+”、“-”来表示的。在微机中难以表示正负号,常将符号数字化,即用0表示正,用1表示负。通常把符号数字化了的数称为机器数,而把原来带有正负号的数称为真值。
计算机中的数是用一位符号位和若干数值位来表示的。
机器数常用三种方法表示,即原码、反码和补码。
第1页/共11页
原码反码和补码
原 码
符号位为0表示正数,为1表示负数;其余各位等同于真值的绝对值。即一个数的原码,是数值部分保持不变,而仅用0或1表示符号“+”或“-”。
定义:
知真求原(已知真值求原码)
例:X=+1011,则X原码=
01011
Y=-1011,则Y原码=
11011
规律:
用0代替“+”,用1代替“-”,其余二进制数值位不变。
X=+1011011 [X]原码=
Y=-1011011 [Y]原码=
练****br/>01011011
11011011
第2页/共11页
原码反码和补码
知原求真(已知原码求真值)
例:X原码=01011,则X=
+1011
Y原码=11011,则Y=
-1011
规律:
用+代替“0”,用-代替“1”,其余二进制数值位不变。
X原=01011011 [X]真值=
Y原=11011011 [Y]真值=
练****br/>+1011011
-1011011
小结:
原码符号位后的代码为真值的绝对值。
+0的原码为00000000,-0的原码为10000000(8位字长)
正数的原码等于它本身,即X原=X
原码的表示范围为+(2n-1-1)~- (2n-1-1),若n=8,则为+127~-127
第3页/共11页
原码反码和补码
反 码
符号位的用法及正数的表示与“原码”相同;负数的表示是在“原码”表示的基础上,通过将符号位以外的各位取反来获得的。
定义:
知原求反
规律:
正数:反码与原码相同
负数:符号位不变,数值位按位取反。
X原=01011011 [X]反=
Y原=11011011 [Y]反=
练****br/>01011011
10100100
第4页/共11页
原码反码和补码
知真求反,知反求真分别如何得到?
讨论
知真求反:用0代替+,数值位不变。
用1代替-,数值位按位取反。
知反求真:用+代替0,数值位不变。
用-代替1,数值位按位取反。
小结:
正数的反码与原码相同。
对于负数,符号位仍为1外,其余各位取反。
+0的反码为00000000,-0的原码为11111111(8位字长)
反码的表示范围为+(2n-1-1)~- (2n-1-1),若n=8,则为+127~-127
第5页/共11页
原码反码和补码
补 码
符号位的用法及正数的表示与“原码”相同;负数的表示是在“反码”表示的基础上,通过加1来获得的。
定义:
知真求补的方法
想一想
规律:
正数:用0代替+,数值位不变。
负数:用1代替-,数值位按位取反末位加1。
第6页/共11页
原码反码和补码
知补求真
用+代替0,数值位不变。
用-代替1,数值位按位取反末位加1。
知原求补
正数:补码与原码相同
负数:符号位不变,数值位按位取反末位加1。
小结:
正数的补码与原码相同。
+0的补码为00000000,-0的补码为00000000(8位字长)
补码的表示范围为-2n-1~-+(2n-1-1),若n=8,则为-128~+127
第7页/共11页
原码反码和补码
课堂小结
正数的原码、反码和补码相同。
无论原码、反码或补码,负数的符号位用1表示,正数的 符号位用0表示。
对于负数的原码、反码、补码,只有原码除符号位外其余部分为数值部分,反码、补码均不是数值部分。
利用原码的符号位不变,其余各位分别求反,可求出反码,反码在最低位加1可求得其补码。
负数的补码再求补码,可得其原码;原码的数值部分前加上负号,即为负数补码的真值。
第8页/共11页
原码反码和补码
课后作业
课后题第3、4、5题
第9页/共11页