140000031508197 js long类型 转字节数组
时间: 2023-11-25 20:05:30 浏览: 29
将 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 中的字节序是大端序(高位在前),因此我们需要从数组的最后一个元素开始存储字节。
相关问题
C++ long类型10转 8字节char 数组
将一个long类型的10进制数转换为8字节的char数组可以通过以下步骤实现:
1. 将long类型的10进制数转换为2进制数,例如将1234567890转换为2进制数为1001001100101100000001011010010。
2. 将2进制数分成8位一组,例如将1001001100101100000001011010010分成了10010011和00101100两组。
3. 将每组2进制数转换为对应的十六进制数,例如10010011对应的十六进制数为0x93,00101100对应的十六进制数为0x2C。
4. 将每个十六进制数转换为对应的字符形式,并存储到char数组中,例如0x93对应的字符为'9',0x2C对应的字符为','。
综上所述,将long类型的10进制数1234567890转换为8字节的char数组的代码如下:
```c++
long num = 1234567890;
char arr[9] = {0}; // 8字节char数组,最后一位存放'\0'结束符
int i = 7;
while (num) {
int bit = num % 2;
arr[i--] = bit + '0';
num /= 2;
}
while (i >= 0) {
arr[i--] = '0';
}
for (int j = 0; j < 8; j++) {
int hex = 0;
for (int k = 0; k < 8; k++) {
hex = hex * 2 + (arr[j * 8 + k] - '0');
}
arr[j] = hex <= 9 ? hex + '0' : hex - 10 + 'A';
}
```
这段代码将1234567890转换为二进制数1001001100101100000001011010010,然后将其分组为10010011和00101100,再将每组转换为对应的十六进制数'9'和',',最后将字符存储到char数组中。
140000031508197 js long类型
JavaScript 中的 Number 类型可以表示整数和浮点数,但是它没有专门的 long 类型。JavaScript 中的 Number 类型使用双精度浮点数来表示数值,即 64 位,其中 52 位用于存储数字(精度为 2 的 -52 次方),而其余的位用于存储符号、指数和一些特殊的值。
如果你要处理比 Number 能表示的更大的整数,可以使用 JavaScript 的 BigInt 类型。BigInt 类型可以表示任意大的整数,但是它的运算速度比普通的 Number 类型要慢一些。在 JavaScript 中,你可以使用后缀 n 来创建 BigInt 类型的值,例如:
```javascript
const bigNum = 140000031508197n;
```
这样就可以创建一个值为 140000031508197 的 BigInt 类型的变量。注意,在创建 BigInt 类型的值时,要加上后缀 n,否则会被认为是普通的 Number 类型。