I am writing a class which needs accurate division of the BigInteger class in C#.
Example:
BigInteger x = BigInteger.Parse(\"10000000000000000000000
Sound like a job for Fixed Point (rather than floating point).
Simply pre-shift the numerator by the number of fractional bits you need, like this:
BigInteger quotient = (x << 10) / y;
That would give you 10 bits after the dot (approximately 3 decimal digits).