140000031508197 js long类型 转字节数组
时间: 2023-11-25 14:05:30 浏览: 117
将 long 类型转换为字节数组可以使用以下代码:
```java
long num = 140000031508197L;
byte[] bytes = new byte[8];
for (int i = 0; i < 8; i++) {
bytes[7 - i] = (byte) (num >> (i * 8));
}
```
这里将 long 类型的 `num` 变量转换为 8 个字节的字节数组 `bytes`。注意 `long` 类型在 Java 中占用 8 个字节,因此字节数组的长度也为 8。
在循环中,我们将 `num` 右移 `i*8` 位,然后使用强制类型转换将结果转换为 `byte` 类型并存储在字节数组中。由于 Java 中的字节序是大端序(高位在前),因此我们需要从数组的最后一个元素开始存储字节。
相关问题
js将一个只有四个元素的数组,变为64字节的整数,例如[1,1,1,0],将各个元素拆成8个字节的二进制,然后从后往前组成一个64个字节的数字,求出得到长整型65793,设计这个计算方法
好的,这里是一个将一个只有四个元素的数组,变为64字节的整数的JavaScript计算方法:
1. 将数组中的四个元素分别转换成8位的二进制数,并按照从后往前的顺序组成一个64位的二进制数,例如[1,1,1,0]可以组成二进制数"0000000100000001000000010000000100000001000000010000000000000000"。
2. 将这个64位的二进制数转换成十进制数即可,这里的结果为65793。
下面是实现该计算方法的JavaScript代码:
```javascript
function binaryArrayToLongInt(arr) {
// 将数组中的四个元素分别转换成8位的二进制数
const binaryArray = arr.map(num => {
const binaryString = num.toString(2);
// 在二进制数前面补上0,使其总长度为8位
return '0'.repeat(8 - binaryString.length) + binaryString;
});
// 将四个8位的二进制数按照从后往前的顺序组成一个64位的二进制数
const paddedBinaryString = binaryArray.reverse().join('') + '0'.repeat(32);
// 将64位的二进制数转换成十进制数
const longInt = parseInt(paddedBinaryString, 2);
// 返回结果
return longInt;
}
// 示例:[1, 1, 1, 0]变为64字节的整数为65793
const arr = [1, 1, 1, 0];
const longInt = binaryArrayToLongInt(arr);
console.log(longInt); // 输出65793
```
希望能够帮到你!
js将一个只有四个元素的数组,变为64字节的整数,例如[1,1,1,0]从后往前组成二进制0000,0000,0000,0001,0000,0001,0000,0001得到长整型65793,设计这个计算方法
好的,这里是一个将一个只有四个元素的数组,变为64字节的整数的JavaScript计算方法:
1. 将数组中的四个元素拼接为一个4位的二进制数,例如[1,1,1,0]可以组成二进制数"1110"。
2. 在这个二进制数前面补上60个0,使其总长度为64位,即"000000000000000000000000000000000000000000000000000000000001110"。
3. 将这个64位的二进制数转换成十进制数即可,这里的结果为65793。
下面是实现该计算方法的JavaScript代码:
```javascript
function binaryArrayToLongInt(arr) {
// 将数组中的四个元素拼接为一个4位的二进制数
const binaryString = arr.join('');
// 在二进制数前面补上60个0,使其总长度为64位
const paddedBinaryString = '0'.repeat(64 - binaryString.length) + binaryString;
// 将64位的二进制数转换成十进制数
const longInt = parseInt(paddedBinaryString, 2);
// 返回结果
return longInt;
}
// 示例:[1, 1, 1, 0]变为64字节的整数为65793
const arr = [1, 1, 1, 0];
const longInt = binaryArrayToLongInt(arr);
console.log(longInt); // 输出65793
```
希望能够帮到你!
阅读全文