例子2:A=-0.1010010,B=0.0110100,补码的结果是1,1.1100010,为什么原码是-0.0011110,能介绍下计算过程么

来源:4-8 定点数的加减法运算

tony_CTO

2019-07-14

例子2:A=-0.1010010,B=0.0110100,补码的结果是1,1.1100010,为什么原码是-0.0011110,能介绍下计算过程么

写回答

2回答

尚鱼

2019-07-18

首先要明白,计算机在计算的时候是以两个数的补码形式进行计算的,也就是说求出来的数值也是补码形式的。

原码求补码的方法是每一位取反(1变0,0变1),然后加1,得出补码。同样,你拿到一个补码,要想求出它的原码,也是每一位取反(1变0,0变1),然后加1,得出原码。

这里结果是1,1.1100010,这是补码形式,那么要求它的原码,就要每一位取反(1变0,0变1),然后加1。

最高位(左边第一位)是符号位(0表示正数,1表示负数),符号位仅表示这个数正负,不参与转原码的过程,所以把符号位去掉得到1.1100010,每一位取反得0.0011101,然后加1得到原码表示0.0011110,最后把去掉的符号位补上(把负号补上),就是-0.0011110。

1
1
咚咚呛
点赞,很详细
2019-07-18
共1条回复

咚咚呛

2019-07-14

结果的补码:

1,1.1100010,先得到反码:

1,0.0011101,然后末位加一:

1,0.0011110。

0
0

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程