第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將結(jié)果強(qiáng)制轉(zhuǎn)換為float并返回float更改結(jié)果

將結(jié)果強(qiáng)制轉(zhuǎn)換為float并返回float更改結(jié)果

慕斯王 2019-10-09 16:04:24
為什么False在.NET 4中打印此代碼?似乎是顯式強(qiáng)制轉(zhuǎn)換導(dǎo)致某些意外行為。除了“浮點(diǎn)數(shù)不準(zhǔn)確”或“不要那樣做”之外,我想要一個(gè)答案。float a(float x, float y){  return ( x * y );}float b(float x, float y){  return (float)( x * y );}void Main(){  Console.WriteLine( a( 10f, 1f/10f ) == b( 10f, 1f/10f ) );}PS:此代碼來自單元測(cè)試,而不是發(fā)布代碼。該代碼是故意以這種方式編寫的。我懷疑它最終會(huì)失敗,但是我想確切地知道何時(shí)以及為什么。答案證明了此技術(shù)的有效性,因?yàn)樗峁┝艘环N超出對(duì)浮點(diǎn)確定性的通常理解的理解。這就是以這種方式編寫此代碼的目的;刻意探索。PPS:?jiǎn)卧獪y(cè)試在.NET 3.5中通過,但是現(xiàn)在升級(jí)到.NET 4后失敗。
查看完整描述

3 回答

?
慕田峪9158850

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)”。


查看完整回答
反對(duì) 回復(fù) 2019-10-09
?
收到一只叮咚

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)論仍被人們贊成的原因。

查看完整回答
反對(duì) 回復(fù) 2019-10-09
  • 3 回答
  • 0 關(guān)注
  • 587 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)