Phao hoạt động với bc?


42

Có vẻ như bc không hỗ trợ các hoạt động float, khi tôi làm điều echo 1/8 | bcđó giúp tôi có được số không.

Tôi đã kiểm tra bc (1), nhưng nó thậm chí không đề cập đến float, vì vậy tôi tự hỏi liệu nó có được hỗ trợ không?


9
echo "scale=4; 1/8" | bc
LiuYan 刘

Câu hỏi này và đặc biệt là câu trả lời được chấp nhận có thể thú vị với bạn.
Emanuel Berg

Câu trả lời:


56

bckhông làm dấu phẩy động nhưng nó thực hiện các số thập phân chính xác cố định. Các -lcờ Hauke nhắc tải một thư viện toán học cho ví dụ. chức năng trig nhưng nó cũng có nghĩa là

[...] Tỷ lệ mặc định là 20

scalelà một trong một số "biến đặc biệt" được đề cập trong trang man. Bạn có thể đặt nó:

scale=4

Bất cứ lúc nào bạn muốn (cho dù -lđã được sử dụng hay không). Nó đề cập đến số lượng chữ số có nghĩa được sử dụng trong một số thập phân . Nói cách khác, các giải pháp tiếp theo sẽ được làm tròn đến số chữ số đó sau thang thập phân (== độ chính xác cố định).

Các tỷ lệ sans mặc định -llà 0, có nghĩa là làm tròn thành số nguyên.


27

trang người đàn ông nói:

Nếu bc được gọi với tùy chọn -l, thư viện toán học sẽ được tải sẵn [...]

Tính dễ hiểu của điều đó có thể được cải thiện, thực sự ...


14
Báo cáo nó ngược dòng như một lỗi ...
vonbrand

0

1) Số trong bc có thang đo. Tỷ lệ của một số không nên nhầm lẫn với yếu tố tỷ lệ. Cùng một "tỷ lệ" thế giới được sử dụng như một hàm để truy vấn tỷ lệ của một số hoặc làm tham số để đặt hệ số tỷ lệ.

echo "scale=scale(1.1);11/10" | bc will return 1.1

2) Hệ số tỷ lệ xác định có bao nhiêu chữ số được giữ ở bên phải dấu thập phân khi thực hiện các thao tác. Nếu s là hệ số tỷ lệ hiện tại, sa là thang đo của toán hạng thứ nhất a, sb là thang đo của toán hạng thứ hai b, kết quả được rút ngắn như sau:

    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) Tại bc gốc là một tiền xử lý của dc. Bây giờ, trên nhiều hệ thống, bc là một chương trình độc lập.

Nguồn: [ https://plan9.io/magic/man2html/1/dc]

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.