发表于:2018/7/6 7:28:40
#10楼
以下是引用蜀中之首在2018/7/5 22:43:42的发言:
“现在正在学习台达PLC,早两晚仿真发现 :使用 DFLT 指令把整数转换成浮点数后,再DEMUL指令浮点乘法计算,再转换回整数。结果后面两位与正确值有差距。”
“我这几个计算测试都没用到小数”
这是楼主发出的信息
整数变浮点,再做乘法,结果再转换回整数,没做小数计算(整数也没小数呀)
我做了4位数的,只是没提整-浮-整的操作,就遭到嘚啵,好可笑。
来看楼主的数据
2.(应版主要求,先看试验2)
32767*3007=983239369
没看错吧,是10进制(BCD)计算。
是不是与计算器结果一致。
1,再看试验一
32767*12343=404443081
结果一样嘛
再看一个4020*23481=94393620
BCD:94393620
发好这帖感觉是不是很好?赢了版主哎。“现在正在学习台达PLC,早两晚仿真发现 :使用 DFLT 指令把整数转换成浮点数后,再DEMUL指令浮点乘法计算,再转换回整数。结果后面两位与正确值有差距。”
“我这几个计算测试都没用到小数”
这是楼主发出的信息
整数变浮点,再做乘法,结果再转换回整数,没做小数计算(整数也没小数呀)
我做了4位数的,只是没提整-浮-整的操作,就遭到嘚啵,好可笑。
来看楼主的数据
2.(应版主要求,先看试验2)
32767*3007=983239369
没看错吧,是10进制(BCD)计算。
是不是与计算器结果一致。
1,再看试验一
32767*12343=404443081
结果一样嘛
再看一个4020*23481=94393620
BCD:94393620
知道版主为何不回应了吗?我不知道。
看懂版主和网友的回答了吗?知道为啥产生误差了吗?
我来告诉你,误差来自于浮点数乘法而不是转换,你整形乘法再转换你算看懂楼主的问题了吗?
[此贴子已经被jint于2018/7/6 8:41:06编辑过]