BigInteger がオーバーフロー例外をスローする理由を理解しようとしています。BigInteger を に変換しbyte[]
、例外が発生する場所がわかるまでシフトを繰り返しインクリメントすることで、これを視覚化しようとしました。
- ビットシフト >> a byte[] ができるはずですか、それとも C# ではできませんか?
例外を引き起こすコード
uint amountToShift2 = 12;
BigInteger num = new BigInteger(-126);
uint compactBitsRepresentation = (uint)(num >> (int)amountToShift2);