我想了解爲什麼BigInteger引發溢出異常。我試圖通過將BigInteger轉換爲byte[]
並反覆增加移位直到我看到發生異常的位置來想象這一點。我應該能夠位移>>一個字節數組嗎?
- 我應該能夠移位>>一個字節[],還是C#根本無法?
代碼引起異常
uint amountToShift2 = 12;
BigInteger num = new BigInteger(-126);
uint compactBitsRepresentation = (uint)(num >> (int)amountToShift2);
你不能移位一個字節[],但你不會得到一個異常;它根本不會編譯。你在做什麼是移位一個BigInteger – 2013-03-04 18:05:02
哪裏有'num'和'amountToShift2'聲明?你可以發佈[SSCCE](sscce.org),以便我們可以複製和粘貼你的代碼? – 2013-03-04 18:05:06
@SamIAm - 更新了SSCE。除了對System.Numerics的引用外,你只需要這麼做。 – LamonteCristo 2013-03-04 18:12:02