Sepertinya bc tidak mendukung operasi float, ketika saya lakukan echo 1/8 | bc
itu membuat saya nol.
Saya memeriksa bc (1)
, tetapi bahkan tidak disebutkan float
, jadi saya ingin tahu apakah ini didukung?
Sepertinya bc tidak mendukung operasi float, ketika saya lakukan echo 1/8 | bc
itu membuat saya nol.
Saya memeriksa bc (1)
, tetapi bahkan tidak disebutkan float
, jadi saya ingin tahu apakah ini didukung?
Jawaban:
bc
tidak melakukan floating point tetapi melakukan angka desimal presisi tetap. The -l
bendera Hauke menyebutkan beban perpustakaan matematika untuk misalnya. fungsi trigonometri tetapi juga berarti
[...] skala standarnya adalah 20
scale
adalah salah satu dari sejumlah "variabel khusus" yang disebutkan dalam halaman manual. Anda dapat mengaturnya:
scale=4
Kapan saja Anda mau (apakah -l
digunakan atau tidak). Ini mengacu pada jumlah digit signifikan yang digunakan dalam desimal . Dengan kata lain, solusi berikutnya akan dibulatkan ke jumlah digit setelah skala desimal (== presisi tetap).
Skala standar sans -l
adalah 0, yang berarti dibulatkan ke bilangan bulat.
halaman manual mengatakan:
Jika bc dipanggil dengan opsi-l, perpustakaan matematika dimuat [...]
Kelengkapan yang bisa ditingkatkan, memang ...
1) Angka dalam bc memiliki skala. Skala angka tidak harus bingung dengan faktor skala. 'Skala' dunia yang sama digunakan sebagai fungsi untuk menanyakan skala angka atau sebagai parameter untuk mengatur faktor skala.
echo "scale=scale(1.1);11/10" | bc will return 1.1
2) Faktor skala menentukan berapa banyak digit yang disimpan di sebelah kanan titik desimal ketika melakukan operasi. Jika s adalah faktor skala saat ini, sa adalah skala operan pertama a, sb adalah skala operan kedua b, hasilnya dipotong sebagai berikut:
scale of result
a+b max(sa,sb)
a-b max(sa,sb)
a*b min(sa+sb , max(s,sa,sb))
a/b s
a%b so that a = b*quotient + remainder; remainder has sign of a
a^b min(sa×|b|, max(s,sa)); b must be integer
sqrt(a) max(s,sa)
3) Pada awalnya bc adalah preprocessor dari dc. Sekarang, pada banyak sistem, bc adalah program mandiri.
Sumber: [ https://plan9.io/magic/man2html/1/dc]
echo "scale=4; 1/8" | bc