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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從指數(shù)和尾數(shù)創(chuàng)建浮點數(shù)

從指數(shù)和尾數(shù)創(chuàng)建浮點數(shù)

Go
函數(shù)式編程 2023-05-08 15:56:25
給定整數(shù)exp和0<=sig<2^52,我如何創(chuàng)建exp指數(shù)為 float64 且其有效位與(在 Go 中)的二進制表示相同的sig?
查看完整描述

1 回答

?
烙印99

TA貢獻1829條經(jīng)驗 獲得超13個贊

IEEE?-754 標(biāo)準(zhǔn)定義了 Go 用于浮點數(shù)的浮點算法,例如float32and?float64(就像幾乎所有其他語言一樣)。

由于您的有效數(shù)字可能高達 52 位,顯然它只能使用一個float64值來表示。

雙精度浮點格式float64中描述了值的內(nèi)存布局(位)。

這是一個值的位圖float64(取自維基百科):

http://img3.sycdn.imooc.com/6458ab460001dfa606120122.jpg

你聲稱你有指數(shù)值和尾數(shù)(這是小數(shù)部分)。

您可以使用簡單的按位運算來構(gòu)造浮點的 64 位值,如下所示:

bits?:=?exp<<52?|?sig

(注意:exp并且sig應(yīng)該是類型uint64。如果不是,請使用類型轉(zhuǎn)換。)

一旦你有了這些位,你就可以使用math.Float64frombits()函數(shù)將它作為一個float64值來獲?。?/p>

f?:=?math.Float64frombits(bits)

請注意,內(nèi)存布局的指數(shù)值不是您在計算數(shù)字值時必須使用的“直接”數(shù)字,而是:

雙精度二進制浮點數(shù)指數(shù)采用偏移二進制表示法編碼,零偏移為1023;在 IEEE 754 標(biāo)準(zhǔn)中也稱為指數(shù)偏差。

因此,以上述雙精度格式編碼的數(shù)字計算如下:

(-1)符號x 2?e-1023?x 1.分數(shù)


查看完整回答
反對 回復(fù) 2023-05-08
  • 1 回答
  • 0 關(guān)注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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