当前位置 :
【关于运算次序“H”是十六进制标识符不参加运算(例如题中:20000H表示20000是一个十六进制的数字,而20000后面的“H”是一个标识符只是标注作用,同理FFFFH一样表示FFFF是一个十六进制】
更新时间:2024-03-29 08:23:17
4人问答
问题描述:

关于运算次序

“H”是十六进制标识符不参加运算(例如题中:20000H表示20000是一个十六进制的数字,而20000后面的“H”是一个标识符只是标注作用,同理FFFFH一样表示FFFF是一个十六进制的数字).数字“16”是十进制数字参与运算."sa"是未知数:

方程式:20000H=sa*16+FFFFH求sa

第一种解体过程:

20000H=sa*16+FFFFH

sa=(20000H-FFFFH)/16

sa=10001H/16

sa=1000H

这是第一种结果先计算括号里面的减法,最后再除以16

第二种结果步骤:

20000H=sa*16+FFFFH

sa=(20000H-FFFFH)/16

sa=20000H/16-FFFFH/16

sa=2000H-FFFH

sa=1001H

这个先分配除以16然后再相减按道理说2中方程计算方法都对啊为什么出现2个结果?

我错在哪里?

李作清回答:
  在考虑舍入影响的情况下,并不适用分配率.除法越多精度越差.   你分别推导一下两种计算过程的精度,就会发现第二种计算过程引入了更大的误差.
董雁适回答:
  我知道有除法运算精度的问题,这个不考虑。我想知道这道题的2种解法是不是正确的?我自己最先做题的时候想到了第一种解法,但是我对照了一下印刷版的答案(第二种解法)。发现自己的解法和第二种解法的答案不同。所以我有点犹豫是不是自己除法的算法错误了。第二种解法是书本上印刷的答案毕竟是印刷的所以动摇了。
李作清回答:
  无论从工程计算的角度而言,还是从软件编程的角度而言,都会尽量避免第二种运算顺序。我不知道你那本书为什么会这么解,或许你应该补充一下完整的题目,难道是有特定的情境?
董雁适回答:
  没有特定的情景。第二种算法确实是书本上的印刷答案《汇编语言》王爽第二版课后练习题2.2呵呵既然解决了还是谢谢您!祝您生活愉快!
最新更新
优秀数学推荐
查询网(821y.com)汇总了汉语字典,新华字典,成语字典,组词,词语,在线查字典,中文字典,英汉字典,在线字典,康熙字典等等,是学生查询学习资料的好帮手,是老师教学的好助手。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

邮箱:  联系方式:

Copyright©2009-2021 查询网 821y.com 版权所有 闽ICP备2021002822号-15