这有什么区别:
var buffer = new ArrayBuffer(4);
var view = new Float32Array(buffer);
view[0] = 1;
和这个
var buffer = new ArrayBuffer(4);
var view = new Int32Array(buffer);
view[0] = 1;
我想知道Float32Array
和Int32Array
之间的区别。他们是否将1
翻译成二进制表示形式?
答案 0 :(得分:4)
是的,他们这样做。假设little-endianness,设置为值Int32Array
的{{1}}元素的二进制表示将具有31个零位,后跟1个1位。
1
的相应元素具有位模式Float32Array
。 (第一位是符号,后面是 exponent ,最后一位是有效数字)。
答案 1 :(得分:1)
Float32Array
将值表示为32位浮点数(即十进制数),而Int32Array
将它们表示为32位有符号整数。
这个例子说明了差异:
const floatArray = new Float32Array(1);
const intArray = new Int32Array(1);
floatArray[0] = 1.5;
intArray[0] = 1.5;
console.log(floatArray[0]); // = 1.5
console.log(intArray[0]); // = 1