BigInteger到byte []

BigInteger到byte [],第1张

BigInteger到byte []

您根本不需要移动。符号位是字节数组中的最高有效(=最左边)位。由于您知道数字始终为正,因此可以保证它为0。但是,整个数组都是右对齐的。

因此有两种情况:您最左边的字节是否为0x00。如果它是0x00,则可以放心地删除它:

byte[] array = bigInteger.toByteArray();if (array[0] == 0) {    byte[] tmp = new byte[array.length - 1];    System.arraycopy(array, 1, tmp, 0, tmp.length);    array = tmp;}

如果它不为0,则不能删除它-但是数组将已经在所需的表示形式中,因此您无需执行任何 *** 作。

上面的代码在两种情况下均适用。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5499681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存