我想转换一个整数数组的值,它是原始的字节。如何将int []转换为Big Integer?
1
A
回答
3
首先,确保您知道您的int[]
是以何种格式进行解释。
每个int可以看作由四个字节组成,并且这些字节可以一起转换为BigInteger。细节是字节顺序 - 哪一个字节最重要,哪一个最不重要?
此外,你有一个有符号或无符号数字?
一种简单的方法你int
秒值进行转换,以byte
s(对于在一个BigInteger构造后使用)是使用ByteBuffer
和包装一个IntBuffer周围。
public BigInteger toBigInteger(int[] data) {
byte[] array = new byte[data.length * 4];
ByteBuffer bbuf = ByteBuffer.wrap(array);
IntBuffer ibuf = bbuf.asIntBuffer();
ibuf.put(data);
return new BigInteger(array);
}
明显adaptions是设置的字节顺序的bbuf
,或使用其他的BigInteger构造(无符号)。
2
那么new BigInteger(byte[] val)呢?
引述我链接到API文档:
平移含有一个字节数组二进制补码的BigInteger的二进制表示转换为BigInteger。输入数组假定为big-endian字节顺序:最重要的字节位于第零个元素中。
相关问题
- 1. 如何将Integer []转换为int []?
- 2. 如何(有效)将int []转换为Integer []?
- 3. Ms Sql将varchar转换为Big Int
- 4. 将Int列表转换为Integer
- 5. 如何将golang math/big int转换为float?
- 6. 如何将Java HashSet <Integer>转换为基本int数组?
- 7. 如何将一个Scala Int转换为一个java Integer?
- 8. 如何将Vector <Integer>转换为int []?
- 9. 如何在java中将int []转换为Integer []?
- 10. 如何将ArrayList <ArrayList <Integer>>转换为int [] []?
- 11. 如何在Android中将int []转换为列表<Integer>?
- 12. 如何将IBAN转换为Integer?
- 13. 如何将TextView值转换为Integer
- 14. 如何将varchar转换为Integer sybase?
- 15. Java转换为Integer?
- 16. 如何将int数组转换为int?
- 17. 如何将int []类型转换为int?[]
- 18. 如何将列表<Integer>转换为java中的Integer []?
- 19. 如何将Integer * Integer乘法的结果转换为Double?
- 20. 如何将int转换为字节?
- 21. 如何将int转换为id?
- 22. 如何将ComboBox.SelectedItem()转换为int?
- 23. 将int转换为Big-Endian的2个字节
- 24. SQL Server将nvarchar转换为Big Int并返回到nvarchar
- 25. 如何从int转换为泛型类型Integer?
- 26. 将float转换为int
- 27. 将[Int?]转换为[Int]
- 28. 将int转换为int []
- 29. 将IO Int转换为Int
- 30. 如何将int转换为Objective-C中的big-endian 32位数字?