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

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

Java和Javascript中相同數(shù)字的乘法給出不同的值

Java和Javascript中相同數(shù)字的乘法給出不同的值

qq_笑_17 2022-07-20 16:58:57
我有一個表達式,我在 Java 和 JavaScript 中都在評估它。爪哇System.out.println(582344008L * 719476260);Output: 418982688909250080Javascriptdocument.write(582344008 * 719476260)Output: 418982688909250050為什么這兩個值有差異?
查看完整描述

2 回答

?
慕的地8271018

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

Javascript 數(shù)字都是 IEEE 754 雙精度數(shù),所以看起來這里發(fā)生了一些浮點錯誤。請參閱Javascript 中浮點數(shù)和整數(shù)之間的區(qū)別?了解更多詳情



查看完整回答
反對 回復 2022-07-20
?
MMMHUHU

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

前言

正如 @Charlie Wallace所說

582344008 * 719476260 大于 Number.MAX_SAFE_INTEGER

JavaScript 的最大整數(shù)值是多少,一個數(shù)字在不損失精度的情況下可以達到多少?
正如 **@baseballllover723
@RealSkeptic所說,這是精度/不同存儲類型大小舍入誤差中的浮點錯誤。

請參閱javascript 類型

JavaScript 中的 7 種原始數(shù)據(jù)類型是什么

JavaScript中有7種基本類型。


  • number對于任何類型的數(shù)字:整數(shù)或浮點數(shù)。整數(shù)/十進制值,精度高達 16 位。JavaScript 數(shù)字都是浮點數(shù),按照 IEEE 754 標準存儲。該標準有幾種格式。JavaScript 使用 binary64 或雙精度。正如以前的名稱所示,數(shù)字以 64 位的二進制格式存儲。

  • string對于字符串。一個字符串可能有一個或多個字符,沒有單獨的單字符類型。

  • boolean對于truefalse。

  • null對于未知值——具有單個值的獨立類型null

  • undefined對于未分配的值——具有單個值的獨立類型undefined。

  • object對于更復雜的數(shù)據(jù)結構。

  • symbol用于唯一標識符。

typeof運算符允許我們查看變量中存儲的類型。


  • 兩種形式:typeof xtypeof(x)

  • 返回具有類型名稱的字符串,例如"string".

  • 對于null返回"object"- 這是語言中的錯誤,它實際上不是一個對象。



  • Java中的8種原始數(shù)據(jù)類型是什么?

    byte     for  8-bit signed integer  

    short    for 16-bit signed integer  

    int      for 32-bit signed integer  

    long     for 64-bit signed integer  

    char     for two bytes in Unicode  

    float    for *decimal* values up to  7 digits of precision   

    double   for *decimal* values up to 16 digits of precision (64 bits)  

    boolean  for true/false  

帶有小數(shù)部分的十進制值稱為浮點數(shù)。它們可以用標準或科學計數(shù)法表示。


測試

一種快速的測試方法是使用在線 java 編譯器(Compile and Execute Java Online (JDK 1.8.0))


public class HelloWorld{


     public static void main(String []args){

        System.out.println("Long Output: "+582344008L * 719476260L);

        System.out.println("Float Output: "+582344008.0 * 719476260.0);

     }

}

命令:


$javac HelloWorld.java

$java -Xmx128M -Xms16M HelloWorld

輸出:


Long Output: 418982688909250080  

Float Output: 4.1898268890925005E17

我的桌面計算器是這樣的:


4.189826889E17

對于JavaScript 在線編譯器:


//JavaScript-C24.2.0 (SpiderMonkey)

print("Output: "+582344008 * 719476260)

輸出:


Output: 418982688909250050


查看完整回答
反對 回復 2022-07-20
  • 2 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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