Quotient & Remainder的奇怪現象

Quotient & Remainder 的除數不可以用非整數嗎?

我除數用0.1,被除數直接Key 0.1;0.2;0.4都正常,但是Key 0.3及0.5以後就不正常,Key 1.1特別奇怪,還有原本0.1正常按增加變成1.1,再按減少變回0.1就變特別奇怪與1.1一樣,0.2及0.4也一樣會變成與0.5的狀況一樣.

![](upload://kXcLgwG3hmSKwabX5agKaVQHXBu.jpeg)

![](upload://wwADRaF0aa99wfCYvA8rRLs4UJu.jpeg)

 

以下有一篇很長的討論,說實在的,我只看懂皮毛而已

http://forums.ni.com/t5/LabVIEW/quotient-remainder-bug/td-p/317311?requireLogin=False

但是主題應該是圍繞在IEEE標準

The IEEE standard for floating point arithmetic

在Help當中有提到IEEE標準,也有說明使用floating-point numbers的問題

![](upload://i8j8y92slrWc8UThafGzsik17dY.jpeg)

最後,作者有做了一個subvi可以參考

MyQuotient&Remainder.vi

 

 

以下文章,同樣也是vi和IEEE標準相關的討論

http://www.labviewpro.net/forum_post_detail.php?post=294&fid=1

簡單來說,
電腦浮點數運算與我們認知的不同,
甚至於兩個浮點數相加可能無法等於另一個浮點數,那是這個網站前身的前身時所討論的文章…
請參考這篇文章:
http://it360.tw/forum/forum_posts.asp?tid=839&kw=�b�i

感謝ancle與caeru兩位大大解惑

[QUOTE=caeru]簡單來說,
電腦浮點數運算與我們認知的不同,
甚至於兩個浮點數相加可能無法等於另一個浮點數,那是這個網站前身的前身時所討論的文章...
請參考這篇文章:
http://it360.tw/forum/forum_posts.asp?tid=839&kw=%afb%c2i
[/QUOTE]

我放一下馬後砲,這也是我昨天想到同樣是floating point numbers的問題