引用
引用第3樓grrrmeng于2017-06-02 15:29發表的 :
OK 問題已經找到了 原來是浮點乘法的時候 使用常數 他本身不能夠變為浮點。增加了一部賦值就好了 謝謝 謝謝
原因并不是本身不能夠變成浮點,而是浮點數在內存中排列與有符號數不同。
你可以對一個32位數進行隨意賦值一個不為0的常數,最終都能出現浮點數。
出現你目前的原因是:
因為你將一個常數賦予浮點數,也可以認為你將一個常數給了一個32位存儲空間,而這個常數在32位存儲空間中排列所得到的浮點數是一個很小的值。
由于這個值非常小,導致乘法結果是一個小數,最終導致一個小數被轉化指令轉化為0了。
這才是導致你認為FIX沒有執行的真正原因,因此,如果你希望在這個領域水平有所提高的話,你還是需要去看IEEE754浮點數的相關內容,特別是浮點數在內存中的排列格式。
Good Luck~