Home > Environment & Utility > bc

bc: Arbitrary Precision Calculator

`bc` is a command-line arbitrary precision calculator language. It can perform integer and floating-point arithmetic with high accuracy, and supports variables, functions, and conditional statements, making it useful for complex calculations or scripting. It can process input interactively or from files.

Overview

`bc` is a powerful tool capable of performing a wide range of calculations, from basic arithmetic to complex mathematical functions. Its key feature is the ability to perform calculations with very high precision by allowing users to specify the number of decimal places.

Key Features

  • Supports arbitrary precision arithmetic
  • Interactive and scripting modes
  • Provides a math library
  • Allows the use of variables and control statements

Key Options

These are the main options used with the `bc` command.

Modes and Libraries

Generated command:

Try combining the commands.

Description:

`bc` Executes the command.

Combine the above options to virtually execute commands with AI.

Usage Examples

How to perform various calculations using `bc`.

Basic Arithmetic Operations

echo "10 + 5 * 2 / 4" | bc

Performs simple addition, subtraction, multiplication, and division.

Setting Decimal Precision

echo "scale=4; 10/3" | bc

Uses the `scale` variable to specify the number of digits after the decimal point.

Using the Math Library

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

To use mathematical functions like sine (sin), add the `-l` option.

Using Variables

echo "a=10; b=20; a*b" | bc

You can declare and use variables within `bc`.

Interactive Mode

bc
10 + 5
scale=5
22/7
quit

You can run `bc` by itself to use it as an interactive calculator.

Tips & Notes

Tips and points to note for more effective use of `bc`.

Key Built-in Variables

`bc` has several special variables that control calculation behavior.

  • scale: Sets the number of digits after the decimal point for division and square root operations. The default is 0.
  • ibase: Sets the base for input numbers. The default is 10 (decimal).
  • obase: Sets the base for output numbers. The default is 10 (decimal).

Exiting Interactive Mode

In interactive mode, you can exit `bc` by typing `quit` or pressing `Ctrl+D`.

Utilizing Scripts

You can write and execute `bc` script files for complex calculations or repetitive tasks. Script files typically use the `.bc` extension. Example: `bc my_script.bc`


Same category commands