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

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

golang中math/big包支持的最大值是多少?

golang中math/big包支持的最大值是多少?

Go
心有法竹 2023-03-21 15:59:58
我正在閱讀 math/big 包的文檔:https://golang.org/pkg/math/big/#pkg-constants我試圖了解一個(gè)數(shù)字對于 math.big 來說太大了,這看起來像是我可以詢問的常數(shù)。我在我的機(jī)器上看到:fmt.Println(math.MaxUint32) 4294967295為了計(jì)算的目的,這與我機(jī)器上可能的最大整數(shù)有什么關(guān)系?這個(gè)數(shù)字的單位是什么?這是字節(jié),小數(shù)位還是數(shù)字本身以外的其他東西?
查看完整描述

1 回答

?
楊__羊羊

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

bignum庫通常將大數(shù)字存儲為數(shù)字序列(例如,以2 64為基數(shù))。它們的局限性與可用內(nèi)存有關(guān)。因此,您可以表示的最大數(shù)字取決于您的虛擬地址空間的限制。您可以安全地假設(shè)即使大到 10 10000的數(shù)字也可以用 bignum 表示。當(dāng)然,googolplex不能表示為 bignum(因?yàn)樗奈粩?shù)多于宇宙中的粒子數(shù))。

另一個(gè)限制是算術(shù)運(yùn)算的復(fù)雜性。但是存在非常有效的 bignum 算法。

FWIW,只要有內(nèi)存,GMPlib (bignums 的 C 庫)就可以處理數(shù)字。然而,有傳言說當(dāng)malloc失敗時(shí),GMPlib 正在中止。

我不知道當(dāng)數(shù)字太大而無法表示時(shí) Go bignums 內(nèi)部會(huì)發(fā)生什么(并且該限制因一臺機(jī)器而異,并且可能因一次運(yùn)行而異)。例如,Go 的Int.Mul給出了一個(gè)乘積,其大小是參數(shù)大小的總和,并且“內(nèi)存不足”錯(cuò)誤沒有記錄(但顯然可能發(fā)生)。

使用 bignums 時(shí),更喜歡迭代算法而不是遞歸算法。例如,一個(gè)簡單的遞歸階乘可能會(huì)溢出足夠大的 bignums 的調(diào)用堆棧,所以你想迭代地編寫它。


查看完整回答
反對 回復(fù) 2023-03-21
  • 1 回答
  • 0 關(guān)注
  • 274 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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