回复:实数转换成BCD码

冬日

  • 帖子

    3378
  • 精华

    56
  • 被关注

    45

论坛等级:奇侠

注册时间:2005-09-01

白金 白金 如何晋级?

发布于 2009-12-11 09:15:56

1楼

你的出发点就是错的,就是实数本质上是不可以转换成BCD数的,所以你的程序无法实现你要求的那种转换。
为什么你的程序里要乘10,乘1000?因为你的输入值是实数,也就是小数后面还有值。所以你现在所做的其实是一种变通的方法,这个方法可以部分实现你的转换要求,但肯定是有局限性的,因为你不知道小数点后面还会有多少位的值,还因为实数的范围要比BCD数大的多,BCD数最大就是9999,如果你要转换的值大于9999那也将得来错误的结果。
If anything can go wrong, it will.
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54699条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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