- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试转换 LargeInteger
进入byte[]
使用 bitLength()
未知长度与
static byte[] encodeint(LargeInteger y) {
//byte[] in = y.toByteArray();
byte[] in = new byte[(int)Math.ceil((double)y.bitLength() / 8.0)];
y.toByteArray(in, 0);
//
byte[] out = new byte[in.length];
for (int i=0;i<in.length;i++) {
out[i] = in[in.length-1-i];
}
return out;
}
但执行者返回
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
指向y.toByteArray(in, 0);
.
in
的长度如何设置正确吗?
(注释的代码是转换后的 BigInteger
代码剩下的。)
最佳答案
toByteArray 的 javadoc 告诉你
java.lang.IndexOutOfBoundsException - if bytes.length < (bitLength() >> 3) + 1
因此应该是 >= (bitLength() >> 3) + 1
除了没有添加 1 之外,您所做的几乎相同。
所以(int)Math.ceil((double)y.bitLength()/8.0) -1
但更容易使用文档版本y.(bitLength() >> 3) + 1
关于java - LargeInteger.bitLength() 的 byte[] 长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21290361/
我正在尝试转换 LargeInteger 进入byte[]使用 bitLength() 未知长度与 static byte[] encodeint(LargeInteger y) { //by
是否 LargeInteger 相当于 BigInteger 's testBit ? 如果不是,怎么可能testBit在 LargeInteger 上执行? 我还没有必要的技能来复制((this &
我正在通过 LDAP(使用 Spring LDAP)使用 AD,在使用 Integer8/LargeInteger 作为时间戳时遇到了一个奇怪的问题 outlined here .也就是说,我尝试写入
我是一名优秀的程序员,十分优秀!