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

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

為什么從 float64 到 int 的轉(zhuǎn)換會(huì)導(dǎo)致值增加 1?

為什么從 float64 到 int 的轉(zhuǎn)換會(huì)導(dǎo)致值增加 1?

Go
泛舟湖上清波郎朗 2022-09-12 17:02:05
將 float64 類型轉(zhuǎn)換為 int 時(shí),我希望結(jié)果為 。但是,實(shí)際結(jié)果是 ,它比 1 大。630948893921274879630948893921274879630948893921274880這是什么原因呢?import (    "fmt")func main() {    var p float64 = 630948893921274879    fmt.Println(int(p))   // 630948893921274880    fmt.Printf("%f\n", p) // 630948893921274880.000000}https://play.golang.org/p/gbXKCkZ6_rF
查看完整描述

3 回答

?
至尊寶的傳說

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

630948893921274879大于最大整數(shù)可以在不進(jìn)行舍入的情況下進(jìn)行編碼?!案↑c(diǎn)數(shù)”(即浮點(diǎn)數(shù))的工作方式與科學(xué)記數(shù)法相同。它們存儲(chǔ)一定數(shù)量的有效數(shù)字,然后將其乘以某個(gè)二次方。630948893921274879需要比 float64 可以容納的更多有效數(shù)字,因此它會(huì)四舍五入到它可以表示的最接近的值。float64

如果需要處理這么大的整數(shù),則需要始終使用整數(shù)。不能轉(zhuǎn)換為浮點(diǎn)值。


查看完整回答
反對 回復(fù) 2022-09-12
?
catspeake

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

float64不會(huì)比“免費(fèi)”“更大”。它犧牲了精度和范圍。int64

在一定幅度之后,整數(shù)只能表示為最接近的 2。當(dāng)你變得更大時(shí),你最終會(huì)每4個(gè)跳過一次,然后每8個(gè)跳過一次,依此類推。


查看完整回答
反對 回復(fù) 2022-09-12
?
拉風(fēng)的咖菲貓

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

您的浮點(diǎn)數(shù)不能存儲(chǔ)為630948893921274879,而是最接近的模擬630948893921274880。以基數(shù) 2 為準(zhǔn),lg(630948893921274879) 介于 59 和 60 之間。因此,數(shù)字之間的間距為 2^(59-52) = 2^7 = 128。這意味著 2^59 和 2^60 之間的任何數(shù)字都將四舍五入到最接近的 128 的倍數(shù)。

解釋:浮點(diǎn)數(shù)(任何大小,不僅僅是64)不是一個(gè)數(shù)字,而是3個(gè)數(shù)字相乘。對于 64 位浮點(diǎn)數(shù):第一個(gè)數(shù)字是符號(hào),長度為 1 位。第二個(gè)數(shù)字是指數(shù),長度為 11 位。最后一個(gè)數(shù)字是有效數(shù)(AKA 尾數(shù)、分?jǐn)?shù)和其他一些名稱),長度為 52 位。最后一個(gè)數(shù)字是 -1^符號(hào) * 2^指數(shù) * 1.有效數(shù)。1.有效數(shù)將等于 1 和(幾乎)2 之間的數(shù)字。這意味著,每次達(dá)到2的倍數(shù)時(shí),指數(shù)將增加,有效數(shù)將重置。由于指數(shù)增加,您獲得的數(shù)字的準(zhǔn)確性將降低一半,因?yàn)橛行?shù)的最微小的增加現(xiàn)在將是兩倍大。您的數(shù)字恰好位于有效數(shù)的最小變化導(dǎo)致增加128的點(diǎn);因此,您的數(shù)字將四舍五入到最接近的 128 的倍數(shù)。因此,導(dǎo)致問題的不是 float64 到 int 的轉(zhuǎn)換,而是 float64 本身。


查看完整回答
反對 回復(fù) 2022-09-12
  • 3 回答
  • 0 關(guān)注
  • 144 瀏覽

添加回答

舉報(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)