“舍入处理”和“尾数”的问题,请好心人帮助

时间:2021-12-31 14:48:03
由于本人是文科转学计算机的,基础弱,学起来很吃力,问得可能问得问题过于简单基础,请各位不要见笑,呵呵 

———————————————————————————————————————————————— 
以下的1,2,3步都懂了,但是第4步“舍入处理”和第5步“判断出”有疑问: 

题目:已知:X=(2的010次方)*(0.11011011), Y=(2的100次方)*(-0.10101100) 
      求X+Y 

书上的推导过程是这样的: 

假设两个数均以补码表示,阶码采用双符号位,尾数采用单符号位,则它的浮点表示分别为: 
[X]浮=00010,0,11011011 
[Y]浮=00100,1,01010100 

1)求阶差并对阶: 
EX-EY=[EX]补+[-EY]补=00010+11100=11110, 
则EX-EY=-2,表示X的阶码小,应使应该使 Mx右移2位,Ex加2,得到 
[X]浮=00100,0,00110110(11)    (其中11表示Mx右移2位后移出的最低两位数) 

2)尾数求和: 
  0.00110110(11) 
+  1.01010100 
___________________ 
  1.10001010(11) 

3)规范化处理: 
尾数运算结果的符号位与最高位数值为同值,应该执行左规处理,尾数左移一位,阶码减1,结果为1.00010101(10), 
阶码为00011 

———————————————————————————————————————————— 

                                  (问题1: 以下的“舍入处理”有什么作用啊) 
4)舍入处理: 
采用0舍1入法处理,则有 
1.00010101 
+        1 
____________ 
1.00010110 

5)判断出: 
阶码符号位为00,不溢出,故得最终结果为 
x+y=(2的011)*(-0.11101010)      
                                  (问题2:此尾数“0.11101010”是如何得到的啊,是不是书上的答案引错了啊,应该是“0.00010110”啊 ,要不“舍入处理”有什么用啊) 


请会此算法的人帮助, 


3 个解决方案

#1


你这个好像不是IEEE754的浮点标准了,IEEE754浮点格式符号位在最前面

#2


好的,我再回去看看书

#3


初学者没有必要对细节这样执着,不如直接进入编程,在练习的过程中遇到问题再回头研究这些细节,效果会更好。否则很快你会对编程失去信心的!

#1


你这个好像不是IEEE754的浮点标准了,IEEE754浮点格式符号位在最前面

#2


好的,我再回去看看书

#3


初学者没有必要对细节这样执着,不如直接进入编程,在练习的过程中遇到问题再回头研究这些细节,效果会更好。否则很快你会对编程失去信心的!