3 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個(gè)贊
我現(xiàn)在沒有Microsoft編譯器,Mono沒有這種效果。據(jù)我所知,GCC 4.3+使用gmp和mpfr在編譯時(shí)計(jì)算一些東西。C#編譯器可以對(duì)同一程序集中的非虛擬,靜態(tài)或私有方法執(zhí)行相同的操作。顯式強(qiáng)制轉(zhuǎn)換可能會(huì)干擾這種優(yōu)化(但是我看不出為什么它不能具有相同的行為)。也就是說,它可以內(nèi)聯(lián)到某種程度上計(jì)算常數(shù)表達(dá)式(b()例如,可能取決于類型轉(zhuǎn)換)。
如果有必要,GCC還具有將操作提升到更高精確度的優(yōu)化。
因此,我認(rèn)為這兩種優(yōu)化都是潛在的原因。但是對(duì)于他們兩個(gè),我都沒有理由對(duì)結(jié)果進(jìn)行顯式強(qiáng)制轉(zhuǎn)換可能會(huì)具有一些其他含義,例如“更接近于標(biāo)準(zhǔn)”。

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
不管您想調(diào)用它是什么,都可以。就是很多人錯(cuò)誤地或不完全地將此問題歸因于此。問題的重點(diǎn)是去了解“其他東西”。為此,需要對(duì)問題和答案進(jìn)行編輯。我希望沒有人提到浮點(diǎn)“精度”的基礎(chǔ)知識(shí),因?yàn)檫@個(gè)問題(正如Eric詳盡解釋的那樣)比通常所知的浮點(diǎn)“精度”更為復(fù)雜。這就是為什么僅對(duì)浮點(diǎn)“準(zhǔn)確性”的評(píng)論仍被人們贊成的原因。
- 3 回答
- 0 關(guān)注
- 587 瀏覽
添加回答
舉報(bào)