记录BigInteger的两个构造方法
---------------------------------------------------------------------------------------------------------------------------------------
如果着急,可直接拉到最后看结论。如果结论看不懂,可以从头慢慢看起,也查阅别人的相关文档
--------------- 以下全为个人理解,知识有限,理解可能有错,谨慎借鉴 -------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
构造方法: BigInteger(byte[] val)
构造方法: BigInteger(byte[] val) |
下面代码的注释,分别列出来了输出结果(结果:),输出结果的二进制(BIN:),和字节数组的每个自己对应的二进制,并进行比较,以及列出了输出结果的原码,以及toString后的16进制字符串:
//一个字节8位
System.out.println(new BigInteger(new byte[]{
11,22}).toString(16)); //结果b16
System.out.println(new BigInteger(new byte[]{
11,22})); //结果2838
//BIN(2838): 0000 1011 0001 0110
//BIN(11): 0000 1011
//BIN(22): 0001 0110
//HEX: 0 b 1 6
//2838原码: 0000 1011 0001 0110
System.out.println(new BigInteger(new byte[]{
-11,22}).toString(16)); //结果-aea
System.out.println(new BigInteger(new byte[]{
-11,22})); //结果-2794
//BIN(-2794): 1111 0101 0001 0110
//BIN(-11): 1111 0101
//BIN(22): 0001 0110
//HEX: -0 a e a
//-2794原码: 1000 1010 1110 1010
System.out.println(new BigInteger(new byte[]{
-11,-22}).toString(16)); //结果-a16
System.out.println(new BigInteger(new byte[]{
-11,-22})