public static uint SingleByteDivideInPlace (BigInteger n, uint d) { ulong r = 0; uint i = n.length; while (i-- > 0) { r <<= 32; r |= n.data [i]; n.data [i] = (uint)(r / d); r %= d; } n.Normalize (); return (uint)r; }