Java中的 BigInteger toByteArray() 方法
Java.math.BigInteger.toByteArray()方法返回一个字节数组,其中包含此 BigInteger 的二进制补码表示。字节数组的最高有效字节出现在第零个元素中。此方法的返回数组包含 sing 位并包含表示此 BigInteger 所需的最小字节数。符号位位置是(ceil((this.bitLength() + 1)/8)) 。句法:
public byte[] toByteArray()
参数:此方法不接受任何参数。返回值:此方法返回一个字节数组,其中包含此 BigInteger 的二进制补码表示。下面的程序说明了 BigInteger 类的 toByteArray() 方法:示例 1:
Java
// 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]);
}
}
}
Java
// 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 10 is 0x0A
示例 2:
Java
// 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: Java/math/BigInteger.html#toByteArray()