类型化数组
参考
类型化数组和数组是完全不同的数据结构,存储结构和原型方法不相同,。
类型化数组分为 2 种:
| 分类 | name | 名称 | 说明 |
|---|---|---|---|
| 缓存 | ArrayBuffer | 数组缓冲区类 | 固定长度的原始二进制数据缓冲区的类,无法直接操作 |
| 缓存 | SharedArrayBuffer | 共享数组缓冲区类 | ArrayBuffer 的扩展,允许在多线程之间共享同二进制数据缓冲区 |
| 视图 | DataView | 数据视图 | 提供了灵活的读写方式,适合处理不同数据类型和字节对齐的情况 |
| 视图 | TypedArrayView | 类型化视图 | 处理同类型的二进制数据 |
// TODO
// TODO
// TODO
类型化视图
| Type | Size(Byte) | 对应的接口定义(Web-IDL) | 等效的 C 语言类型 | Note |
|---|---|---|---|---|
| Int8Array | 1 | byte | int8_t | 8 位有符号整数(补码) |
| Uint8Array | 1 | octet | uint8_t | 8 位无符号整数。 |
| Uint8ClampedArray | 1 | octet | uint8_t | 8 位无符号整数(值会被裁剪) |
| Int16Array | 2 | short | int16_t | 16 位有符号整数(补码) |
| Uint16Array | 2 | unsigned short | uint16_t | 16 位无符号整数 |
| Int32Array | 4 | long | int32_t | 32 位有符号整数(补码) |
| Uint32Array | 4 | unsigned long | uint32_t | 32 位无符号整数 |
| Float32Array | 4 | unrestricted float | float | 7 位有效数字,如 1.123456) |
| Float64Array | 8 | unrestricted double | double | 16 位有效数字,如 1.123...15) |
| BigInt64Array | 8 | bigint | int64_t (signed long long) | 64 位有符号整数(补码) |
| BigUint64Array | 8 | bigint | uint64_t (unsigned long long) | 64 位无符号整数 |
注:特定类型取值范围的计算
[0,1][1][2][3][4][5][6][7][8]2^8 => 256 ,记做 n