2

有没有办法用长(非常)整数进行算术运算?如何添加它们并获得它们的平方?我可以在 Windows CMD 和 Bash 上执行此操作吗?谢谢!

4

4 回答 4

1

在 bash 中,您可以使用bc。这里链接http://www.gnu.org/software/bc/manual/html_mono/bc.html

对于我的版本( bc 1.06.95 ):

1)字符串中字符数的限制(在表达式中):2147483647
2)指数值的限制:2147483647

例如:

echo "2^2" | bc - 计算 2 的幂 2

于 2013-01-22T19:40:49.380 回答
1

Windows CMD 有以下限制

批处理数学有一个严重的限制:它只能处理 32 位整数。(-2,147,483,648 至 +2,147,483,647)

在 Windows NT 4 和可能的 2000 中,限制更加严重:它只能处理无符号的 32 位整数。(0 至 4,294,967,295)

资料来源:http://www.robvanderwoude.com/battech_math.php

但是,请参阅上面该来源中的解决方法部分!

于 2013-01-22T21:28:19.953 回答
0

我总是为此使用 scala,但这可能有点矫枉过正。如果您只想评估一个表达式,而不是停留在其 REPL 模式,它会有点慢:

$ scala -e 'println (BigInt("12345056560232232323232323").pow(17))'
3592381313781713347169811993632501191758657981889928930682479036490714840370007545514882170730018303552133089619990376179050098738641961735841902033891344811425818404146852596771837724556848714975175935703785905563690781027522348495906322533140231903044769974928750539681481346060497468038154440312144677922886371790280816174167119667432789145549865983687361599563492624405727749237730761069822040101542802077317687934387891203

或帕里:

$ echo "12345056560232232323232323^17" | gp -q
3592381313781713347169811993632501191758657981889928930682479036490714840370007545514882170730018303552133089619990376179050098738641961735841902033891344811425818404146852596771837724556848714975175935703785905563690781027522348495906322533140231903044769974928750539681481346060497468038154440312144677922886371790280816174167119667432789145549865983687361599563492624405727749237730761069822040101542802077317687934387891203
于 2013-01-23T01:09:45.160 回答
0

假设 CMD是命令行和最新版本的 Windows(Win 7+,可选并且可能安装在 XP 上)的总称,powershell最容易使用。要获得平方和,您可以这样做:
powershell [math]::sqrt(2+2)

Powershell 会自动为您调整数据类型,对于非常大的数字,它将自动使用 int64 或 Decimal (int128)。您可以尝试使用不同的值来查看它: powershell (your_value_here).gettype().name

于 2013-01-23T00:05:36.650 回答