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

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

JAVA的Double.MIN_VALUE、IEEE 754和谷歌的計(jì)算器?

JAVA的Double.MIN_VALUE、IEEE 754和谷歌的計(jì)算器?

尚方寶劍之說 2022-07-06 19:13:43
谷歌計(jì)算器可以計(jì)算的最小非零數(shù)似乎是 2^-1023。即 2^-1024 等于 0。在 JAVA 中,Double.MIN_VALUE 是 2^-1074。當(dāng)在這里和互聯(lián)網(wǎng)上閱讀 JAVA 的 Double.MIN_VALUE 時(shí),有很多提到 IEEE 754,但實(shí)際上沒有一個(gè)說 2^-1074 是 IEEE 754 中定義的最小非零數(shù)。所以我的問題是:JAVA 的 Double.MIN_VALUE 與 IEEE 754 對(duì)最小非零數(shù)的定義有何關(guān)系?有這樣的事情嗎?當(dāng)顯然有這樣的數(shù)字時(shí),為什么谷歌的計(jì)算器不能計(jì)算小于 2^-1023 的數(shù)字?(我知道人們不會(huì)每天都使用它們,但編程語言仍然允許使用它們)在 JAVA 中,如果 Double.MIN_VALUE == 4.9E-324 那么為什么 (Double.MIN_VALUE + Double.MIN_VALUE) == 1.0E-323 而不是 9.8E-324,考慮到 (4.9E-5 + 4.9E-5) == 9.8E-5?我應(yīng)該向 Double.MIN_VALUE 添加多少才能使其等于零?這是我針對(duì)這些問題制作的程序:public class Lecture {    public static void main(String[] args) {        double min = Double.MIN_VALUE;        double max = Double.MAX_VALUE;        double minPlusOne = min + 0.0001;        System.out.println("Min + 1: " + minPlusOne);        System.out.println("Double.MIN_VALUE: " + min);        System.out.println("Double.MIN_VALUE: " + max);        double myMin = Math.pow(2, -1074);        System.out.println("2^-1074: " + myMin);        System.out.println("Double.MIN_VALUE == 2^-1074: "  + (min == myMin));        System.out.println();        System.out.println("Changed Min:" + (min + min));        double a = 4.9E-5;        double b = a + a;        System.out.println(b);    }}
查看完整描述

3 回答

?
慕俠2389804

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

JAVA 的 Double.MIN_VALUE 與 IEEE 754 對(duì)最小非零數(shù)的定義有何關(guān)系?有這樣的事情嗎?

您應(yīng)該仔細(xì)閱讀關(guān)于 FP 數(shù)的優(yōu)秀教程,例如每個(gè)程序員都應(yīng)該了解的浮點(diǎn)運(yùn)算知識(shí)。“正?!睌?shù)字最小值為 2^-1023。但 IEEE-754 也有最小值為 2^-1074 的“次正規(guī)”(或非正規(guī))數(shù)。這些數(shù)字可以更小,但會(huì)嚴(yán)重降低精度。

當(dāng)顯然有這樣的數(shù)字時(shí),為什么谷歌的計(jì)算器不能計(jì)算小于 2^-1023 的數(shù)字?(我知道人們不會(huì)每天都使用它們,但編程語言仍然允許使用它們)。

并非所有硬件都支持非正規(guī)數(shù),并且當(dāng)支持使用這些數(shù)字時(shí),會(huì)帶來很高的時(shí)間成本(例如,對(duì)于普通數(shù)的 pentium 操作符延遲約為 5,但如果結(jié)果或一個(gè)操作數(shù)低于標(biāo)準(zhǔn),則可能 > 100) . 這可能是 google 不支持 subnormals 的原因(但這只是一個(gè)假設(shè))。FP 庫和硬件可以將次正規(guī)數(shù)視為零。

在 JAVA 中,如果 Double.MIN_VALUE == 4.9E-324 那么為什么 (Double.MIN_VALUE + Double.MIN_VALUE) == 1.0E-323 而不是 9.8E-324,考慮到 (4.9E-5 + 4.9E-5) == 9.8E-5?

打印的值被四舍五入并以二進(jìn)制顯示。2^-1023 的整數(shù)部分的精確值比 4.9 的小數(shù)點(diǎn)多得多。它的雙倍也是如此。這是一個(gè)展示的問題。

我應(yīng)該向 Double.MIN_VALUE 添加多少才能使其等于零?

只為自己減去它。


查看完整回答
反對(duì) 回復(fù) 2022-07-06
?
蠱毒傳說

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

  1. 與其“在這里和通過 Internet 閱讀”,不如看一下 Javadoc:

    一個(gè)常數(shù),保持類型 ... 的最小正非零值,double也等于Double.longBitsToDouble(0x1L)。

    即它的最后一位為1,其余為0。

  2. 2^-1023 實(shí)際上并不是那里的最小值,你可以Double.MIN_VALUE得到(2^-1023)/2^51. 不知道為什么 Google 的開發(fā)人員2^-1024返回 0,你得問他們。

  3. Double.MIN_VALUE如文件所述,為 2^-1074。不等于4.9*10^-324,只是按照Double#toString. 四舍五入Double.MIN_VALUE只是2*Double.MIN_VALUE碰巧朝不同的方向前進(jìn)。

  4. -Double.MIN_VALUE,就像Double d您要添加的任何其他內(nèi)容一樣-d。


查看完整回答
反對(duì) 回復(fù) 2022-07-06
?
慕運(yùn)維8079593

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

您可以將這些搜索詞輸入任何搜索引擎,而不是“閱讀并通過互聯(lián)網(wǎng)”:

IEEE 754 1074

您可以在 Wikipedia 上找到以下文章來很好地解釋它:

https://en.wikipedia.org/wiki/IEEE_754-1985#Double_precision:

雙精度 雙精度數(shù)占用 64 位。雙精度:

  • 最接近零的正數(shù)和負(fù)數(shù)(由 Exp 字段中全 0 和 Fraction 字段中的二進(jìn)制值 1 的非規(guī)范化值表示)是

    ±2^?1074 ≈ ±4.94066×10^?324

  • 最接近零的正負(fù)歸一化數(shù)(在 Exp 字段中用 > 二進(jìn)制值 1 表示,在小數(shù)字段中用 0 表示)是

    ±2^?1022 ≈ ±2.22507×10^?308

  • 離零最遠(yuǎn)的有限正數(shù)和有限負(fù)數(shù)(由 Exp 字段中的 2046 和分?jǐn)?shù)字段中的全 1 的值表示)是

    ±(1?2^?53) × 2^1024 ≈ ±1.79769×10^308

https://en.wikipedia.org/wiki/IEEE_754#Basic_and_interchange_formats:

請(qǐng)注意,在上表中,列出的最小指數(shù)是正常數(shù);特殊的次正規(guī)數(shù)表示允許表示更小的數(shù)字(有一些精度損失)。例如,可以用 binary64 表示的最小正數(shù)是 2^?1074(因?yàn)?1074 = 1022 + 53 - 1)。


查看完整回答
反對(duì) 回復(fù) 2022-07-06
  • 3 回答
  • 0 關(guān)注
  • 140 瀏覽

添加回答

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