Java BigInteger toByteArray()方法
java.math.BigInteger.toByteArray() 方法返回一个包含该BigInteger的二进制补数的字节数组。字节数组中最重要的字节出现在第2个元素中。这个方法返回的数组包含符号位,并且包含表示这个大整数所需的最小字节数。符号位的位置是 (ceil((this.bitLength() + 1)/8)) 。
语法 :
public byte[] toByteArray()
参数 :该方法不接受任何参数。
返回值: 该方法返回一个字节数组,包含该大整数的二进制表示。下面的程序说明了BigInteger类的toByteArray()方法:
示例1 :
// Java program to demonstrate toByteArray() method of BigInteger
import java.math.BigInteger;
public class GFG {
public static void main(String[] args)
{
// Creating BigInteger object
BigInteger bigInt = BigInteger.valueOf(10);
// create a byte array
byte b1[];
b1 = bigInt.toByteArray();
// print result
System.out.print("ByteArray of BigInteger "
+ bigInt + " is");
for (int i = 0; i < b1.length; i++) {
System.out.format(" "
+ "0x%02X",
b1[i]);
}
}
}
输出
ByteArray of BigInteger 10 is 0x0A
例2 :
// Java program to demonstrate toByteArray() method of BigInteger
import java.math.BigInteger;
public class GFG {
public static void main(String[] args)
{
// create byte array
byte b[] = { 0x1, 0x2, 0x1 };
// Creating BigInteger object using byte Array
BigInteger bigInt = new BigInteger(b);
// apply toByteArray() on BigInteger
byte b1[] = bigInt.toByteArray();
// print result
System.out.print("ByteArray of BigInteger "
+ bigInt + " is");
for (int i = 0; i < b1.length; i++) {
System.out.format(" "
+ "0x%02X",
b1[i]);
}
}
}
输出
ByteArray of BigInteger 66049 is 0x01 0x02 0x01
**参考资料: **https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#toByteArray()