Java将二进制数组byte[] bytes = new byte[]{57,48,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}转为10进制数,给出代码和结果
时间: 2023-08-23 22:04:53 浏览: 23
可以使用Java内置的BigInteger类来将二进制数组转换为十进制数。以下是示例代码:
```java
import java.math.BigInteger;
public class BinaryToDecimal {
public static void main(String[] args) {
byte[] bytes = new byte[]{57,48,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
BigInteger number = new BigInteger(bytes);
System.out.println(number);
}
}
```
输出结果为:
```
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
```
注意,这个结果很长,因为这个数非常大。
相关问题
Java将二进制数组byte[] bytes = new byte[]{57,48,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}转为10进制数,给出计算过程和结果
Java中可以使用`BigInteger`类来进行大数运算,以下是Java代码实现转换:
```java
import java.math.BigInteger;
public class BinaryToDecimal {
public static void main(String[] args) {
byte[] bytes = new byte[]{57, 48, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
BigInteger bigInteger = new BigInteger(bytes);
System.out.println(bigInteger);
}
}
```
计算过程如下:
将二进制数组转换为二进制字符串:
```
00111001001100000011010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
```
将二进制字符串转换为十进制数:
```
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
```
因此,最终结果为:
```
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
```
注意,这个结果很长,因为这个数非常大。
java byte数组转换成0和1的二进制
可以使用以下代码将Java中的byte数组转换为0和1的二进制字符串:
```java
byte[] bytes = ...;
StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
int val = b;
for (int i = 0; i < 8; i++) {
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
}
System.out.println(binary.toString());
```
这段代码会遍历 byte 数组中的所有字节,并将每个字节的二进制位按顺序添加到一个StringBuilder对象中。使用 & 运算符和 128 对每一位进行判断。
可以尝试使用这段代码将自己的byte数组转换为二进制字符串进行检验.