2 回答

TA贡献1801条经验 获得超8个赞
无符号 8 位数字的最大值是 255。较大的数字将被截断或翻转,具体取决于 os/cpu。如果您想在 8 位数组中转换 32 位数字,请尝试这样的操作。
var number = 21640;
var byte1 = 0xff & number;
var byte2 = 0xff & (number >> 8);
var byte3 = 0xff & (number >> 16);
var byte4 = 0xff & (number >> 24);
var arr1 = Uint8Array([byte1,byte2,byte3,byte4]);
创建数组时,只需颠倒字节的顺序,具体取决于您想要小端还是大端。

TA贡献1821条经验 获得超5个赞
这是一个在控制台中显示 5488 的工作示例
var bigNumber = new Uint32Array([21640]);
console.log(bigNumber[0].toString(16));
由于您在问题中添加了更多内容。如果你想转换
var byte1 = 0x88;
var byte2 = 0x54;
var byte3 = 0;
var byte4 = 0;
var bigValue = (byte4 << 24) | (byte3 << 16) | (byte2 << 8) | (byte1);
console.log(bigValue);
尽管您需要考虑字节顺序
添加回答
举报