szrunluo
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看szrunluo的 主题 / 回贴
楼主  发表于: 2008-07-15 00:14
使用除法运算时,DIV,    10000 / 6=1666,   余数是0.666667.       但在PC运行中计算出来的余数是4,我百思不解PC是怎样转换过来的结果,
请求高手指点.
zxdha
级别: 略有小成
精华主题: 0
发帖数量: 182 个
工控威望: 247 点
下载积分: 1264 分
在线时间: 47(小时)
注册时间: 2007-05-17
最后登录: 2021-05-30
查看zxdha的 主题 / 回贴
1楼  发表于: 2008-07-16 10:26
简单点说,div或ddiv是整数运算指令,在运算时它不会去计算小数点后面的数据,也就是说它只运算到个位数为止,所以余数也一定是整数。如1000除以6等于166,余数肯定为4。

而使用浮点运算从理论上来说是不存在余数的!!!实际应用中主要看你使用32位计算、还是使用64位计算、还是用128位计算,位数越高精确度也越高。如1000除以6等于166.66666666666.......7。请注意小数点后面的0.66666666666.......7它其实是商,而不是余数!!!
本帖最近评分记录:
  • 下载积分:+3(YMMFA) 热心助人!