📜  Java中的 BigInteger toByteArray() 方法

📅  最后修改于: 2022-05-13 01:54:46.566000             🧑  作者: Mango

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()