有符号二进制数的减法
本人的简单学习过程。。。
题目:十进制6-12=-6,利用有符号位二进制写出来过程。
解题思路:
第一步:把减12变为加负12,利用有符号二进制表示出来
6-12=6+(-12)=00000110-00001100=00000110+10001100
第二步:将第一步结果分别转化成补码(见最下补充)
00000110+10001100=00000110(正数补码不变)+11110100(负数变补码)
第三步:将第二步结果两个补码相加
00000110+11110100=11111010(补码)
第四步:将第三步结果转换成原码
11111010(补码)=10000110(原码)
补充:
反
码
=
{
正
数
:
等
于
原
码
负
数
:
符
号
位
不
变
,
其
余
位
数
与
原
码
相
反
(
0
变
1
,
1
变
0
)
反码= \begin{cases} 正数:等于原码\\ 负数:符号位不变,其余位数\\ 与原码相反(0变1,1变0) \end{cases}
反码=⎩⎪⎨⎪⎧正数:等于原码负数:符号位不变,其余位数与原码相反(0变1,1变0)
补
码
=
{
正
数
:
与
原
码
的
反
码
相
同
负
数
:
在
反
码
的
基
础
上
加
一
补码= \begin{cases} 正数:与原码的反码相同\\ 负数:在反码的基础上加一 \end{cases}
补码={正数:与原码的反码相同负数:在反码的基础上加一
若有错误,欢迎提出,及时改正。