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

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

有沒有辦法使不同語言的這兩個(gè)值保持一致?

有沒有辦法使不同語言的這兩個(gè)值保持一致?

慕姐8265434 2023-06-08 19:56:38
兩種語言的 sqrt 函數(shù)有問題。我有一個(gè) JAVA API 和 C++ 客戶端,我試圖sqrt在兩者中使用這些函數(shù),但它們給我的數(shù)字略有不同。輸入是:x = 25.0 y = 5625.0爪哇:double distance = Math.sqrt(x + y);  // outputs 75.16648189186454C++:const double distance = std::sqrt(x + y); // outputs 75.166481891864535我需要的數(shù)字與我在 API 和客戶端中將它們用作種子的數(shù)字相同。有什么辦法嗎?理想情況下, javaoutput 75.16648189186454,但是,我會(huì)選擇其中一個(gè)。
查看完整描述

3 回答

?
小唯快跑啊

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

當(dāng)我查看 C++ 和 Java 的位時(shí),它們會(huì)導(dǎo)致:

爪哇:

4634989787871853517

C++:

4634989787871853517

這意味著它們都是相同的位。由于它們應(yīng)該遵循 IEEE-754,這意味著兩種語言具有相同的值。您只是看到一個(gè)輸出在一種語言中被略微截?cái)啵祬s沒有。


查看完整回答
反對(duì) 回復(fù) 2023-06-08
?
一只萌萌小番薯

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

浮點(diǎn)數(shù)并不精確,您不能依賴于不同的實(shí)現(xiàn)(語言)獲得完全相同的值。你也不能指望同一種語言在不同的硬件上獲得相同的價(jià)值。

序列化浮點(diǎn)數(shù)并在不同語言和/或硬件實(shí)現(xiàn)之間傳輸它們是一個(gè)難題(不是 N/P 難題,但仍然非常困難)。

查看完整回答
反對(duì) 回復(fù) 2023-06-08
?
嚕嚕噠

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

擴(kuò)展 Shawn 的評(píng)論:C++ 回復(fù)有 17 位數(shù)字,Java 回復(fù)有 16 位。如果你將 17 位數(shù)字四舍五入,你會(huì)得到相同的結(jié)果,因?yàn)?35 輪到 4。Double 實(shí)際上略小于 16(大約 52+ 1 位乘以 log 2) 有意義的數(shù)字,因此 C++ 結(jié)果具有誤導(dǎo)性的精確性。您可以控制在 C++ 和 Java 中顯示的位數(shù),但正如 Shawn 所說,計(jì)算機(jī)內(nèi)部的實(shí)際數(shù)字是相同的。



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

添加回答

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