我正在尝试将无符号整数转换为精度高达 18 位小数的浮点。
我使用的语言(Clarity)没有浮点数,所以我必须使用无符号整数来表示小数和整个部分。
Uint 只有 128 位长,因此最多只能有 39 位。
我需要知道如何使用 128 位 Uint 来表示精度高达 18 位小数的浮点数。我需要编写算术运算,例如 Add、Sub、Mul、Div、Pow。
例如,28 ^ 0.5 = 5.291502622129181181 其中,
- 00000000000000000005 是整个部分(20 位)和
- 291502622129181181 为小数部分(18 位)