引用
引用第3樓grrrmeng于2017-06-02 15:29發(fā)表的 :
OK 問題已經(jīng)找到了 原來是浮點(diǎn)乘法的時(shí)候 使用常數(shù) 他本身不能夠變?yōu)楦↑c(diǎn)。增加了一部賦值就好了 謝謝 謝謝
原因并不是本身不能夠變成浮點(diǎn),而是浮點(diǎn)數(shù)在內(nèi)存中排列與有符號(hào)數(shù)不同。
你可以對一個(gè)32位數(shù)進(jìn)行隨意賦值一個(gè)不為0的常數(shù),最終都能出現(xiàn)浮點(diǎn)數(shù)。
出現(xiàn)你目前的原因是:
因?yàn)槟銓⒁粋(gè)常數(shù)賦予浮點(diǎn)數(shù),也可以認(rèn)為你將一個(gè)常數(shù)給了一個(gè)32位存儲(chǔ)空間,而這個(gè)常數(shù)在32位存儲(chǔ)空間中排列所得到的浮點(diǎn)數(shù)是一個(gè)很小的值。
由于這個(gè)值非常小,導(dǎo)致乘法結(jié)果是一個(gè)小數(shù),最終導(dǎo)致一個(gè)小數(shù)被轉(zhuǎn)化指令轉(zhuǎn)化為0了。
這才是導(dǎo)致你認(rèn)為FIX沒有執(zhí)行的真正原因,因此,如果你希望在這個(gè)領(lǐng)域水平有所提高的話,你還是需要去看IEEE754浮點(diǎn)數(shù)的相關(guān)內(nèi)容,特別是浮點(diǎn)數(shù)在內(nèi)存中的排列格式。
Good Luck~