gpt4 book ai didi

java - 不同的 byte[] => 相同的 BigInteger?

转载 作者:行者123 更新时间:2023-12-02 07:29:35 26 4
gpt4 key购买 nike

有人可以向我解释一下,在使用 public BigInteger(byte[] val) 时,两个微小但不平凡的不同字节数组如何可以产生相同的 BigInteger?

怎么可以...

import java.math.BigInteger;

public class BigIntegerTest
{
public static void main(String[] args)
{
BigInteger a = new BigInteger(new byte[] {-1, -1, -1, -1, 123});
BigInteger b = new BigInteger(new byte[] {-1, 123});

System.out.println(a.toString(16)+" .equals "+b.toString(16)+" ? "+(a.equals(b)));
}
}

...打印 true?

我确信我误解了 JavaDocs,但我不明白哪里。我会检查来源...但是,呃,我找不到它。

我错过了什么?

最佳答案

第一个包含与第二个相同的值,加上左侧的大量符号扩展。

关于java - 不同的 byte[] => 相同的 BigInteger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13096696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com