一、机器数与真值
二、原码
按上所述,正数的符号位用”0″表明,负数的符种表明法就称为原码。表明法就称为原码。
X=+105 [X]原=01101001
X=-105 [X]原=11101001
三、反码
正数的反码表明与原码相同,最高位为符号位,用”0″表明正,其他位为数值位。
(+4)10=0 0 0 0 0 1 0 0
符号 二进制数值
(+31)10=0 0 0 1 1 1 1 1
(+127)10=0 1 1 1 1 1 1 1
而负数的反码表明为它的正数的按位取反(连符号位)而构成的。
(+4)10=0 0 0 0 0 1 0 0 单片机
(-4)10=1 1 1 1 1 0 1 1 —-反码表明
(+31)10=0 0 0 1 1 1 1 1
(-31)10=1 1 1 0 0 0 0 0 —-反码表明 单片机
(+127)10=0 1 1 1 1 1 1 1
(-127)10=1 0 0 0 0 0 0 0 —-反码表明
(+0)=0 0 0 0 0 0 0 0
(-0)=1 1 1 1 1 1 1 1 —-反码表明 单片机
四、补码
正数的补码表明与原码相同,即最高位为符号位,用”0″表明正,其他位为数值位。如【+4】补=【+4】原=【+4】反=0 0 0 0 0 1 0 0
【+127】补=【+127】原=【+127】反=0 1 1 1 1 1 1 1
负数的补码表明为它的反码,并在其最终位(即最低位)加1构成。
如 【+4】原=0 0 0 0 0 1 0 0
【-4】反=1 1 1 1 1 0 1 1 是+4各位取反 【-4】补=1 1 1 1 1 1 0 0 反码+1
【+31】原=0 0 0 1 1 1 1 1
【-31】反=1 1 1 0 0 0 0 0
【-31】补=1 1 1 0 0 0 0 1 单片机
【+0】原=0 0 0 0 0 0 0 0
【-0】反=1 1 1 1 1 1 1 1
【-0】补=0 0 0 0 0 0 0 0
8位带符号数的补码特色:(1)【+0】补=【-0】补=0 0 0 0 0 0 0 0
(2)8位二进制补码所能表明的数值为+127~-128
(3)一个用补码表明的二进制数,最高位为符号位。当符号位为”0″(即正数)时,其他七位即为此数的二进制值;当符号位为”1″(即负数)时,其他几位不是此数的二进制值,把它们按位取反,且在最低位加1,才是它的二进制值。
如:【X】补=1 0 0 1 0 1 0 0 是负数,它的数值为0 0 1 0 1 0 0 按位取反,
得1 1 0 1 0 1 1,然后再加1为1 1 0 1 1 0 0=(108)10
当负数选用补码表明时,就可以把减法转换为加法。
例如: 64-10=64+(-10)=64+【-10】补
+64=0 1 0 0 0 0 0 0
10=0 0 0 0 1 0 1 0
【-10】补=1 1 1 1 0 1 1 0
减法运算: 64 0 1 0 0 0 0 0 0
-10 - 0 0 0 0 1 0 1 0
————– —– ———————————————————————————————–
54 0 0 1 1 0 1 1 0
补码加法:
64 0 1 0 0 0 0 0 0
+【-10】补 ——> (+) 1 1 1 1 0 1 1 0
————– —– ———————————————————————————————-
1 0 0 1 1 0 1 1 0
此1天然丢掉。在8位字长的单字节运算中
第7位的进位,天然丢掉。
例:34-68=34+【-68】补 单片机
【34】补=0 0 1 0 0 0 1 0
【+68】补=0 1 0 0 0 1 0 0 单片机
【-68】补=1 0 1 1 1 1 0 0
34 0 0 1 0 0 0 1 0
+(-68) + 1 0 1 1 1 1 0 0
————– —– ————————————->————————————————————–
– 34 1 1 0 1 1 1 1 0 符号位为1,必定成果为负,其数值部
所以成果是-34
在微型机中,但凡带符号数一概是用补码表明的,所以,其运算成果也是补码。当字长为8位时,其规模为+127~-128。当运算成果超出这个表达规模时,成果就不正确了,这就称为溢出。这时要用多字节来表明。单片机
通常用最高位作为符号位,若字长为8位即D7为符号位,D6~D0为数字位,
符号位用0表明正,用1表明负如X=(01011011)B=+91
X=(11011011)B=-91
单片机中带符号数的表明法及运算规矩
一、机器数与真值二、原码按上所述,正数的符号位用0表示,负数的符种表示法就称为原码。表示法就称为原码。X=+105[X]原=01101001X
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/256677.html