public ushort ToUInt16(IFormatProvider provider) { uint ret; if (AsUInt32(out ret) && ret <= ushort.MaxValue) { return (ushort)ret; } throw new OverflowException(MathResources.BigIntWontFitUShort); }