我试图理解为什么 BigInteger 会引发溢出异常。我试图通过将 BigInteger 转换为 abyte[]
并迭代地增加 shift 来可视化这一点,直到我看到异常发生的位置。
- 我应该能够位移>>一个字节[],还是C#根本不能?
导致异常的代码
uint amountToShift2 = 12;
BigInteger num = new BigInteger(-126);
uint compactBitsRepresentation = (uint)(num >> (int)amountToShift2);