|
|
1
4
如果您可以使用64位算术,则更容易。我会做一些如下的事情:
isEqual()和reverse()有待实现。divideBy10除以10并返回余数。 |
|
2
4
基本上,您需要使用数字生成进行经典的十进制打印,方法是重复将数字除以10(基数为2^32),并将余数用作数字。你可能没有一个除以(任何东西,更不用说)10的例行程序,这可能是你的问题的关键来源。 如果你在C或C++中工作,你可以从中得到一个完整的无穷精度算术包。 GNU Bignum package . 大多数其他广泛使用的语言都有类似的软件包。 当然,如果您有太多的空闲时间,您可以自己实现多精度除法。你已经借用了克努斯的术语;他还提供了半数值算法中的多精度算法。 |
|
3
3
如果是.NET,请查看 this implementation of a BigInteger class . |
|
|
4
0
用长双打怎么样?然后尾数中有80位,但我猜当使用浮点数时,精度会降低。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |