这个Uint32就是用的32进制存的吗?Uint16就是用的16进制存的吗?第一种先使用Uint32Array再使用Uint16Array操作同一个数组,输出的结果为什么是1 0 2 0 3 0 4 0 ?var buffer = new ArrayBuffer(16);
var array = new Uint32Array(buffer);
for(var i = 0; i < array.length;++i){
array[i] = i+1;
document.write(array[i]+" "); //1 2 3 4
}
document.write("<br>");
var array2 = new Uint16Array(buffer);
for(var i = 0; i < array2.length;++i){
document.write(array2[i]+" "); //1 0 2 0 3 0 4 0
}第二种先使用Uint16Array再使用Uint32Array操作同一个数组,输出的结果为什么是131073 262147 393221 524295 ?var buffer = new ArrayBuffer(16);
var array = new Uint16Array(buffer);
for(var i = 0; i < array.length;++i){
array[i] = i+1;
document.write(array[i]+" "); //1 2 3 4 5 6 7 8
}
document.write("<br>");
var array2 = new Uint32Array(buffer);
for(var i = 0; i < array2.length;++i){
document.write(array2[i]+" "); //131073 262147 393221 524295
}大神请你将详细点!可以吗?哈哈
1 回答
临摹微笑
TA贡献1982条经验 获得超2个赞
这个Uint32就是用的32进制存的吗?Uint16就是用的16进制存的吗? 错 计算机内部都是二进制存的(虽然可以用10或者16进制显示给你看) Uint32使用32个二进制位(bit)存储,U表示没有符号。所以可以表示的范围是00000...0~1111...1(32个0到32个1),对应的10进制是0~4294967295 Uint16使用16个二进制位表示,所以是0~65535 因为8bit=1byte(字节),所以也可以说分别是4个字节和2个字节。
添加回答
举报
0/150
提交
取消