如何将 int[] 转换为大整数?
我想转换一个整数值数组,它原来是字节。
I would like to convert an integer array of values, which was original were bytes.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想转换一个整数值数组,它原来是字节。
I would like to convert an integer array of values, which was original were bytes.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
首先,确保您知道
int[]
将以哪种格式进行解释。每个int可以看作由四个字节组成,这些字节加在一起可以转换为一个BigInteger。详细信息是字节顺序 - 哪个字节最多,哪个字节最不重要?
另外,你有签名或未签名的号码吗?
将
int
转换为byte
(以便稍后在 BigInteger 构造函数中使用)的一种简单方法是使用ByteBuffer
并包装 IntBuffer围绕它。明显的调整是设置 bbuf 的字节顺序,或使用另一个 BigInteger 构造函数(对于无符号)。
First, make sure you know in which format your
int[]
is meant to be interpreted.Each int can be seen as consisting of four bytes, and these bytes together can be converted to an BigInteger. The details are the byte order - which byte is the most and which one the least significant?
Also, do you have a signed or unsigned number?
A simple way to convert your
int
s tobyte
s (for latter use in a BigInteger constructor) would be to useByteBuffer
and wrap an IntBuffer around it.Obvious adaptions would be to set the byte order of
bbuf
, or use another BigInteger constructor (for unsigned).那么,new BigInteger(byte[] val)?
引用我链接到的 API 文档:
Well, what about new BigInteger(byte[] val)?
To quote the API docs I linked to: