作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想转换一个整数值数组,原来是字节。
最佳答案
首先,确保您知道您的 int[]
应该以哪种格式进行解释。
每个int可以看作是由四个字节组成的,这些字节加在一起可以转换为一个BigInteger。细节是字节顺序——哪个字节最重要,哪个字节最不重要?
另外,你有一个带符号的还是不带符号的号码?
将 int
转换为 byte
(稍后在 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);
}
明显的调整是设置 bbuf
的字节顺序,或使用另一个 BigInteger 构造函数(对于无符号)。
关于java - 如何将 int [] 转换为大整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7705500/
我是一名优秀的程序员,十分优秀!