为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript类型化数组发生了看不懂的结果!请求哪位大神帮忙解答一下下!谢谢你啦!

JavaScript类型化数组发生了看不懂的结果!请求哪位大神帮忙解答一下下!谢谢你啦!

牧羊人nacy 2018-07-17 17:23:26
这个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个字节。


查看完整回答
反对 回复 2018-08-01
  • 1 回答
  • 0 关注
  • 697 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信