2016-02-26 73 views
1

JavaScript中的數字大小是多少?數字的大小(在內存中)是多少?

例如,我知道C中的單個字符是1個字節。 int的大小是sizeof(int)。 int64_t上的大小是64位,依此類推。

什麼(以及如何找到它)是在JavaScript中的數字(十進制,浮點數)的大小?

+3

javascript只有'Number' - 它是一個64位的「double」[IEEE Standard 754](http://steve.hollasch.net/cgindex/coding/ieeefloat.html) –

+1

在Javascript中使用這樣的級別細節(以及大多數高級語言)。 – deceze

+2

'int64_t'是64 **位**。只是說 – Amit

回答

3

你不知道。它是特定於引擎的(儘管這也意味着您可以在引擎文檔中查找它)。在ECMAScript標準中概述了與您的程序邏輯相關的其他數字屬性(例如:ECMA-262)。

+0

您能否給我一個鏈接到Chrome/FF引擎文檔的相關部分? – alexandernst

+0

'這是引擎特定的' - 但你的鏈接表明ECMA-262要求格式爲'IEEE Standard 754' –

+1

@JaromandaX格式/行爲必須匹配,引擎如何存儲它是它自己的業務。 –

2

除了其他答案中提到的事實,現實中的引擎使用各種優化,包括根據使用情況將數字存儲在各種不同的方法(類型...)中。這是像asm.js事物背後的主要思路之一,而只是提供一個簡單的例子:

var i = 0; 
while(i < 5) { 
    console.log('hello'); 
    i++; 
} 

引擎可以推斷i是一個整數,並優化它的用法。

相關問題