Bc

BC—自動全精度乘法

  • June 23, 2016

高,我需要測試我的任意精度計算器,並且bc似乎是一個很好的比較標準,但是,bc確實將每個乘法的結果截斷為每個所涉及的操作數的最大比例。

有沒有一種快速的方法可以關閉它或自動將每個乘法的比例設置為因子的比例之和,這樣它就不會失去任何精度?

如果您對此有一個更優雅的解決方案,涉及除 之外的其他bc內容,我將不勝感激您的分享。

例子:

$ bc <<< '1.5 * 1.5'
2.2

真正的答案是 2.25。

bc您可以使用參數控制輸出的比例scale=<#>

$ echo "scale=10; 5.1234 * 5.5678" | bc
28.52606652

$ echo "scale=5; 5.1234 * 5.5678" | bc
28.52606

使用您的範例:

$ bc <<< 'scale=2; 1.5 * 1.5'
2.25

您還可以使用-l開關(感謝@manatwork)將比例初始化為 20 而不是預設的 0。例如:

$ bc -l <<< '1.5 * 1.5'
2.25

$ bc -l <<< '1.52 * 1.52'
2.3104

scale您可以在bc手冊頁中閱讀更多資訊。

試試這個 :

$ bc
scale=10
1.5 * 1.5
2.25

在 bc’s man 中搜尋比例變數

引用自:https://unix.stackexchange.com/questions/80099