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

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

為什么在這種情況下 float32 比 float64 更準(zhǔn)確?

為什么在這種情況下 float32 比 float64 更準(zhǔn)確?

Go
繁星點(diǎn)點(diǎn)滴滴 2023-07-04 14:51:18
如果我運(yùn)行以下 Go 代碼:fmt.Println(float32(0.1) + float32(0.2)) fmt.Println(float64(0.1) + float64(0.2))輸出是:0.3 0.30000000000000004看來(lái) float32 sum 的結(jié)果比 float64 sum 的結(jié)果更精確,為什么?我認(rèn)為 float64 總是比 float32 更精確。我如何決定選擇哪一個(gè)以獲得最準(zhǔn)確的結(jié)果?
查看完整描述

1 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

事實(shí)并非如此。fmt.Println只是讓它看起來(lái)更精確。Println用于%g浮點(diǎn)數(shù)和復(fù)數(shù)。文檔說(shuō)...

默認(rèn)精度... %g 它是唯一標(biāo)識(shí)該值所需的最小位數(shù)。

0.3 足以識(shí)別float32.?但float64更精確需要更多的數(shù)字。

我們可以使用fmt.Printf%0.20g強(qiáng)制兩個(gè)數(shù)字顯示相同的精度。

f32 := float32(0.1) + float32(0.2)

f64 := float64(0.1) + float64(0.2)


fmt.Printf("%0.20g\n", f32)

fmt.Printf("%0.20g\n", f64)


0.30000001192092895508

0.30000000000000004441

float64更精確。兩者都不精確,因?yàn)檫@是浮點(diǎn)數(shù)的本質(zhì)。


我們可以用它strconv.FormatFloat來(lái)看看這些數(shù)字到底是什么。


fmt.Println(strconv.FormatFloat(float64(f32), 'b', -1, 32))

fmt.Println(strconv.FormatFloat(f64, 'b', -1, 64))


10066330p-25

5404319552844596p-54

即10066330 * 2^-25和5404319552844596 * 2^-54。


查看完整回答
反對(duì) 回復(fù) 2023-07-04
  • 1 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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