bc – Precision Arithmetic Tools for Arithmetic Operations

BC is a command-line utility that provides precision arithmetic for arithmetic operations. It can perform arithmetic operations on numbers with arbitrary precision, including floating-point numbers. BC is commonly used in shell scripts and command-line applications to perform complex mathematical calculations.


The basic syntax for using BC is as follows:

echo "expression" | bc

Here, expression refers to the arithmetic expression that you want to evaluate. The echo command is used to pass the expression to BC via a pipe. BC then evaluates the expression and returns the result.

For example, to add two numbers in BC, you can use the following command:

echo "2 + 3" | bc

This will return the result 5.

BC supports a wide range of mathematical functions, including trigonometric functions, logarithmic functions, and exponentiation. To use these functions, you need to prefix them with scale=n, where n is the number of decimal places you want to use for the calculation.

For example, to calculate the sine of 1 radian with a precision of 10 decimal places, you can use the following command:

echo "scale=10; s(1)" | bc -l

This will return the result 0.8414709848.

BC also supports variables and control structures, making it a powerful tool for performing complex calculations.


The following table lists the available options for the BC command:

Option Description
-i Sets BC to interactive mode.
-l Loads the math library, enabling support for mathematical functions.
-q Sets BC to quiet mode, suppressing error messages.
-s Sets BC to standard mode, disabling any extensions.
-w Enables warnings for undefined variables and functions.

Troubleshooting Tips

  • If you encounter syntax errors when using BC, make sure that your expressions are properly formatted and that you have closed all parentheses.
  • If you are using mathematical functions in BC, make sure to include the scale parameter to specify the precision of the calculation.
  • If you are using variables in BC, make sure to initialize them before use.


  • BC is not installed by default on some Linux distributions, so you may need to install it manually.
  • BC is a powerful tool for performing arithmetic operations, but it is not suitable for high-performance computing or large-scale data analysis. For these tasks, you may want to consider using specialized tools such as NumPy or MATLAB.