我使用bc
從bash腳本做一些快速和骯髒的BigInteger數學,但是,當我碰到了規模,它開始對我分割線:如何阻止bc分割線?
pax> echo 'scale=200 ; 1/4' | bc
.2500000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000
pax> num="$(echo 'scale=200 ; 1/4' | bc)" ; echo $num
.2500000000000000000000000000000000000000000000000000000000000000000\ 00000 ...
如何阻止這種情況的發生,從而我可以在沒有任何分裂的情況下得到這個數字?手冊頁記錄了這種行爲,但似乎沒有給出任何改變它的選項。
其實,我會退後一步,告訴你請求的來源,以防萬一任何人有更好的解決方案。我需要串的等價的C數組值2 -n,沿着線:
static char *str[] = {
"1.00000000 ... 000", // 1/1 to 150 fractional places.
"0.50000000 ... 000", // 1/2
"0.25000000 ... 000", // 1/4
"0.12500000 ... 000", // 1/8
: : :
"0.00000000 ... 004", // 1/(2^256)
};
我不在乎什麼語言產生的陣列,我只是要採取輸出並將其插入我的C代碼。然而,我確實需要準確性。
那豈不是更簡單的,以避免在首先使用`bc`和`bash`地點?一個簡單的Python程序可能比這更容易。你爲什麼堅持`bc`? – 2010-11-26 03:04:11