struct ExponentialInteger
{
private readonly int value;
private readonly int exp;
//.ctor
// operator +
// operator -
// operator *
// operator /
// operator implicit
// operator explicit
// IEquatable, IComparable, IFormattable
// итд
private static string[] suffix = new[]
{
"", "K", "M", "t", "q", "Q", "s", "S", "o", "n", "d", "U", "D", "T", "Qt", "Qd", "Sd", "St", "O", "N", "v", "c"
};
public override string ToString()
{
if (exp >= suffix.Length || exp < 0)
{
return $"{value}*10^{exp}";
}
else
{
return $"{value}{suffix[exp]}";
}
}
}