當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java Java.math.BigInteger.toByteArray()用法及代碼示例


描述

這個java.math.BigInteger.toByteArray()返回包含此 BigInteger 的二進製補碼表示的字節數組。字節數組將采用 big-endian 字節順序:最高有效字節位於第零個元素中。

該數組將包含表示此 BigInteger 所需的最小字節數,包括至少一個符號位,即 (ceil((this.bitLength() + 1)/8))。此表示與 (byte[ ]) 構造函數兼容。

聲明

以下是聲明java.math.BigInteger.toByteArray()方法。

public byte[] toByteArray()

參數

NA

返回值

此方法返回一個字節數組,其中包含此 BigInteger 的二進製補碼表示。

異常

NA

示例

下麵的例子展示了 math.BigInteger.toByteArray() 方法的用法。

package com.tutorialspoint;

import java.math.*;

public class BigIntegerDemo {

   public static void main(String[] args) {

      // create 2 BigInteger objects
      BigInteger bi1, bi2;

      // create 2 byte arrays
      byte b1[], b2[];

      // create and assign value to byte array b3
      byte b3[] = { 0x1, 0x00, 0x00 };

      bi1 = new BigInteger("10");
      bi2 = new BigInteger(b3); // using byte[] constructor of BigInteger

      // assign byte array representation of bi1, bi2 to b1, b2
      b1 = bi1.toByteArray();
      b2 = bi2.toByteArray();

      String str1 = "Byte array representation of " + bi1 + " is:";

      System.out.println( str1 );

      // print byte array b1 using for loop
      for (int i = 0; i  < b1.length; i++) {
         System.out.format("0x%02X\n", b1[i]);
      }

      String str2 = "Byte array representation of " + bi2 + " is:";

      System.out.println( str2 );

      // print byte array b2 using for loop
      for (int j = 0; j < b2.length; j++) {
         System.out.format("0x%02X ", b2[j]);
      }
   }
}

讓我們編譯並運行上麵的程序,這將產生以下結果——

Byte array representation of 10 is:
0x0A
Byte array representation of 65536 is:
0x01 0x00 0x00

相關用法


注:本文由純淨天空篩選整理自 Java.math.BigInteger.toByteArray() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。