JavaScript中的數字大小是多少?數字的大小(在內存中)是多少?
例如,我知道C中的單個字符是1個字節。 int的大小是sizeof(int)
。 int64_t上的大小是64位,依此類推。
什麼(以及如何找到它)是在JavaScript中的數字(十進制,浮點數)的大小?
JavaScript中的數字大小是多少?數字的大小(在內存中)是多少?
例如,我知道C中的單個字符是1個字節。 int的大小是sizeof(int)
。 int64_t上的大小是64位,依此類推。
什麼(以及如何找到它)是在JavaScript中的數字(十進制,浮點數)的大小?
你不知道。它是特定於引擎的(儘管這也意味着您可以在引擎文檔中查找它)。在ECMAScript標準中概述了與您的程序邏輯相關的其他數字屬性(例如:ECMA-262)。
您能否給我一個鏈接到Chrome/FF引擎文檔的相關部分? – alexandernst
'這是引擎特定的' - 但你的鏈接表明ECMA-262要求格式爲'IEEE Standard 754' –
@JaromandaX格式/行爲必須匹配,引擎如何存儲它是它自己的業務。 –
除了其他答案中提到的事實,現實中的引擎使用各種優化,包括根據使用情況將數字存儲在各種不同的方法(類型...)中。這是像asm.js事物背後的主要思路之一,而只是提供一個簡單的例子:
var i = 0;
while(i < 5) {
console.log('hello');
i++;
}
引擎可以推斷i
是一個整數,並優化它的用法。
javascript只有'Number' - 它是一個64位的「double」[IEEE Standard 754](http://steve.hollasch.net/cgindex/coding/ieeefloat.html) –
在Javascript中使用這樣的級別細節(以及大多數高級語言)。 – deceze
'int64_t'是64 **位**。只是說 – Amit