Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中,最小可用内存大小是否为2字节?_Javascript_String_Memory Management_Character Encoding - Fatal编程技术网

在javascript中,最小可用内存大小是否为2字节?

在javascript中,最小可用内存大小是否为2字节?,javascript,string,memory-management,character-encoding,Javascript,String,Memory Management,Character Encoding,为了在JS中表示单个字符,我们使用“或”,即使用长度为1的字符串 但是因为,这个字符也是16位的 可以安全地说,2字节是JS中可能的最小可再现大小 或者会有一些数据结构,它可以表示我缺少的单个字节(8位) 编辑: 我知道使用字大小(通常为4字节)的数据类型总是最有效的,但我只是想知道JS的创建者是否愿意在其中包含一些内容 ActionScript3也从ECMAScript派生而来&它包括一个可变大小的数据类型,即AS3中的整数是1到4字节的存储 注意:我并不是真的在寻找将多个字节放入更大数据类型

为了在JS中表示单个字符,我们使用
,即使用长度为1的字符串

但是因为,这个字符也是16位的


可以安全地说,2字节是JS中可能的最小可再现大小

或者会有一些数据结构,它可以表示我缺少的单个字节(8位)

编辑:

我知道使用字大小(通常为4字节)的数据类型总是最有效的,但我只是想知道JS的创建者是否愿意在其中包含一些内容

ActionScript3也从ECMAScript派生而来&它包括一个可变大小的数据类型,即AS3中的整数是1到4字节的存储

注意:我并不是真的在寻找将多个字节放入更大数据类型的黑客


我猜答案很可能是

从技术上讲,你可以有一个8的数组,但在存储数组本身时可能会有很大的开销。

从技术上讲,你可以有一个8的数组,但在存储数组本身时可能会有很大的开销。

从c风格的联合中翻开一页,当然,你可以创建自己的数据结构,使用大整数作为位图

var memory = 0;

function setbyte(addr, value) {
    memory = memory | (value << addr);
}

function getbyte(addr) {
    return 0xFF & (memory>>addr)
}
var内存=0;
函数setbyte(addr,value){
内存=内存|(值>添加)
}

从c样式的联合中获取一个页面,当然,您可以创建自己的数据结构来实现这一点。使用大整数作为位图

var memory = 0;

function setbyte(addr, value) {
    memory = memory | (value << addr);
}

function getbyte(addr) {
    return 0xFF & (memory>>addr)
}
var内存=0;
函数setbyte(addr,value){
内存=内存|(值>添加)
}

好吧,不是在ECMAScript中,而是在node.js和浏览器中


当然,不是在ECMAScript中,而是在node.js和浏览器中


是的,但是你在其中存储了多个值。”这样说是否安全,2字节是JS中可能的最小可再现大小。或者会有一些数据结构,它可以表示我缺少的单个字节(8位)。“我想答案是否定的,但这是一个有趣的练习。警告:这不能很好地扩展到非常大的数字,因为JavaScript中的所有数字都是浮点。另外,我认为常量应该是
0xFF
。正确,常量改为FF。谢谢。是的,但你在其中存储了多个值。“这样说安全吗,2字节是JS中可能的最小可表示大小。或者会有一些数据结构,可以表示我缺少的单个字节(8位)。”我想答案是否定的,但这是一个有趣的练习。警告:这不能很好地扩展到非常大的数字,因为JavaScript中的所有数字都是浮点。另外,我认为常量应该是
0xFF
。正确,常量改为FF。谢谢。是的,但您可以这样对待它们,并使用
==true
进行测试。是的,但您可以这样对待它们,并使用
==true
进行测试。没有定义为/存储“8位”信息的ECMAScript值。此外,使用数字而不是单个字符的字符串可能更有效,因为字符串也必须包含长度,并且可能不会受到相同的对象省略优化(这是一个实现细节)。最小的可表示大小到底是多少?请记住,任何变量都可以包含任何值,不能将变量限制为仅包含一个字符。没有定义为/存储“8位”信息的ECMAScript值。此外,使用数字而不是单个字符的字符串可能更有效,因为字符串也必须包含长度,并且可能不会受到相同的对象省略优化(这是一个实现细节)。最小的可表示大小到底是多少?请记住,任何变量都可以包含任何值,不能将变量限制为仅包含一个字符。