ytmf0795
级别: 略有小成
精华主题: 0
发帖数量: 186 个
工控威望: 304 点
下载积分: 9694 分
在线时间: 131(小时)
注册时间: 2007-07-22
最后登录: 2016-11-04
查看ytmf0795的 主题 / 回贴
楼主  发表于: 2011-07-30 22:30
我有一台印刷机的程序在印刷版径触摸屏输入的运算上用的是32位2进制浮点数四则运算(DEMUL      DEDIV)  

这样数值运算为什么就更精确吗  用32位2进制浮点数四则运算的程序比普通10进制四则运算麻烦复杂好多好多哦  

我自已做的DA程序就没用32位2进制浮点数四则运算也可以用啊

不明白用32位2进制浮点数四则运算的程序比普通10进制四则运算 好在哪里啊?  

请前辈给我讲讲行吗?
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5212 个
工控威望: 7436 点
下载积分: 158993 分
在线时间: 3172(小时)
注册时间: 2007-11-21
最后登录: 2024-12-22
查看sjm213的 主题 / 回贴
1楼  发表于: 2011-07-30 23:40
确实要精确的多啊!
非浮点数的计算结果:DIV K10 K6 D0,那么D0=1,这个结果能接受吗?
                                        DIV K100 K51 D0,那么D0=1,这个结果能接受吗?
                                        DIV K1000 K501 D0,那么D0=1,这个结果能接受吗?
本帖最近评分记录:
  • 下载积分:+2(ytmf0795) 热心助人
    ghost.net
    级别: 家园常客
    精华主题: 0
    发帖数量: 348 个
    工控威望: 560 点
    下载积分: 2849 分
    在线时间: 97(小时)
    注册时间: 2008-01-01
    最后登录: 2012-08-02
    查看ghost.net的 主题 / 回贴
    2楼  发表于: 2011-07-31 09:56
    版主说得有理。
    本帖最近评分记录:
  • 下载积分:+1(ytmf0795) 热心助人
    中国工控
    学习
    级别: VIP会员
    精华主题: 0
    发帖数量: 482 个
    工控威望: 662 点
    下载积分: 2137 分
    在线时间: 68(小时)
    注册时间: 2007-07-16
    最后登录: 2024-12-18
    查看中国工控的 主题 / 回贴
    3楼  发表于: 2011-07-31 18:43
    太精辟了 ,就是这样的,浮点数还分单精度和双精度浮点,双精度浮点,精度就更高了。
    ytmf0795
    级别: 略有小成
    精华主题: 0
    发帖数量: 186 个
    工控威望: 304 点
    下载积分: 9694 分
    在线时间: 131(小时)
    注册时间: 2007-07-22
    最后登录: 2016-11-04
    查看ytmf0795的 主题 / 回贴
    4楼  发表于: 2011-07-31 18:47
    引用
    引用第1楼sjm213于2011-07-30 23:40发表的  :
    确实要精确的多啊!
    非浮点数的计算结果:DIV K10 K6 D0,那么D0=1,这个结果能接受吗?
                                            DIV K100 K51 D0,那么D0=1,这个结果能接受吗?
                                            DIV K1000 K501 D0,那么D0=1,这个结果能接受吗?



    呵呵  我的意思当然要避开这样的工式啦 我有做过控制4DA模块  大概是这样的
    DDIV  K1000 K6 D0      

    DDIV K10000  K51 D0  

    D0这个数值在屏里显示时  它可以设定表达式为 D0/  100   啊 一样可以显示1。67啊

    这样也比2浮和10实 转来转去简略点啊  
    meng2008
    级别: 家园常客
    精华主题: 0
    发帖数量: 222 个
    工控威望: 505 点
    下载积分: 860 分
    在线时间: 75(小时)
    注册时间: 2008-08-04
    最后登录: 2023-10-07
    查看meng2008的 主题 / 回贴
    5楼  发表于: 2011-08-01 12:18
        按楼主这种场合,常用的BIN除法就够用了。
    如果除数或被除数是浮点数的话,利用浮点数运算会比较省力且准确!当然,也可以把除数或被除数放大倍数,再用BIN运算去解决。 精确相对而言的,是看需要到小数点后几位了哈。。。
    本帖最近评分记录:
  • 下载积分:+2(ytmf0795) 热心助人
    luoyingdong
    级别: 略有小成
    精华主题: 0
    发帖数量: 158 个
    工控威望: 306 点
    下载积分: 1203 分
    在线时间: 103(小时)
    注册时间: 2011-06-27
    最后登录: 2024-11-22
    查看luoyingdong的 主题 / 回贴
    6楼  发表于: 2011-08-01 12:31
    5楼有道理,把数值乘上100倍再作计算,精度还能接受。但是这样一样会把事情搞复杂。
    浮点运算最好的程序方式是用结构文字 Function Block 来作,程序很简洁,很容易看懂的。
    本帖最近评分记录:
  • 下载积分:+2(ytmf0795) 热心助人
  • Fred Lo
    ytmf0795
    级别: 略有小成
    精华主题: 0
    发帖数量: 186 个
    工控威望: 304 点
    下载积分: 9694 分
    在线时间: 131(小时)
    注册时间: 2007-07-22
    最后登录: 2016-11-04
    查看ytmf0795的 主题 / 回贴
    7楼  发表于: 2011-08-01 20:54
    引用
    引用第6楼luoyingdong于2011-08-01 12:31发表的  :
    5楼有道理,把数值乘上100倍再作计算,精度还能接受。但是这样一样会把事情搞复杂。
    浮点运算最好的程序方式是用结构文字 Function Block 来作,程序很简洁,很容易看懂的。



    浮点运算最好的程序方式是用结构文字 Function Block 来作???  
    什么叫是用结构文字 Function Block 来作啊?
    请不吝指教
    luoyingdong
    级别: 略有小成
    精华主题: 0
    发帖数量: 158 个
    工控威望: 306 点
    下载积分: 1203 分
    在线时间: 103(小时)
    注册时间: 2011-06-27
    最后登录: 2024-11-22
    查看luoyingdong的 主题 / 回贴
    8楼  发表于: 2011-08-02 08:50
    结构文字 Function Block是两个意思
    结构文字是一种编程语言,把阶梯图编程文字程序,类似C语言
    Function Block(功能块)是GX-Developer里面的功能。用结构文字作的功能块可以被阶梯图呼叫使用。
    本帖最近评分记录:
  • 下载积分:+3(ytmf0795)
  • Fred Lo