ytmf0795
級別: 略有小成
|
我有一臺印刷機的程序在印刷版徑觸摸屏輸入的運算上用的是32位2進制浮點數四則運算(DEMUL DEDIV) 這樣數值運算為什么就更精確嗎 用32位2進制浮點數四則運算的程序比普通10進制四則運算麻煩復雜好多好多哦 我自已做的DA程序就沒用32位2進制浮點數四則運算也可以用啊 不明白用32位2進制浮點數四則運算的程序比普通10進制四則運算 好在哪里啊? 請前輩給我講講行嗎? |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
確實要精確的多啊! 非浮點數的計算結果:DIV K10 K6 D0,那么D0=1,這個結果能接受嗎? DIV K100 K51 D0,那么D0=1,這個結果能接受嗎? DIV K1000 K501 D0,那么D0=1,這個結果能接受嗎? |
---|---|
本帖最近評分記錄: |
ytmf0795
級別: 略有小成
|
呵呵 我的意思當然要避開這樣的工式啦 我有做過控制4DA模塊 大概是這樣的 DDIV K1000 K6 D0 DDIV K10000 K51 D0 D0這個數值在屏里顯示時 它可以設定表達式為 D0/ 100 啊 一樣可以顯示1。67啊 這樣也比2浮和10實 轉來轉去簡略點啊 |
---|---|
|
meng2008
級別: 家園常客
|
按樓主這種場合,常用的BIN除法就夠用了。 如果除數或被除數是浮點數的話,利用浮點數運算會比較省力且準確!當然,也可以把除數或被除數放大倍數,再用BIN運算去解決。 精確相對而言的,是看需要到小數點后幾位了哈。。。 |
---|---|
本帖最近評分記錄: |
luoyingdong
級別: 略有小成
|
5樓有道理,把數值乘上100倍再作計算,精度還能接受。但是這樣一樣會把事情搞復雜。 浮點運算最好的程序方式是用結構文字 Function Block 來作,程序很簡潔,很容易看懂的。 |
|
---|---|---|
本帖最近評分記錄:
|
ytmf0795
級別: 略有小成
|
浮點運算最好的程序方式是用結構文字 Function Block 來作??? 什么叫是用結構文字 Function Block 來作啊? 請不吝指教 |
---|---|
|