回复:比较触点非法值错误可能是什么问题?

醉书生

  • 帖子

    718
  • 精华

    25
  • 被关注

    18

论坛等级:侠士

注册时间:2004-06-13

普通 普通 如何晋级?

发布于 2008-06-27 22:19:20

0楼

长整数与浮点数都是32位二进制,比如二进制串 00111111 10000000 00000000 00000000,如果当浮点数看,它是1.0,如果当长整数看,它是 1065353216
区别是长整数没有要求,任何一个2进制位的排列都是一个合法的长整数,而浮点数有自己的格式要求,不是所有的二进制排列都是合法的浮点数。
所以32位二进制的所有排列都是有效的长整数,只有一部分是合法的浮点数,如果将它们当长整数看,这个长整数数列是离散的。
拿 DW 跟 R 比较时,如果 DW 的二进制排列恰好可以当作一个合法的浮点数,则比较指令不会出错。虽然比较指令可能不会出错,但比较结果显然不是所期待的,因为将浮点数当整数看或将整数当浮点数看,它们完全“不是一回事”
生命存在的方式只有两种:腐烂或燃烧
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。