bcal (Byte CALculator) is a REPL CLI utility for storage expression (e.g. “(2GiB * 2) / (2KiB >> 2)”) evaluation, SI/IEC conversion, byte address calculation, base conversion and LBA/CHS calculation. It’s very useful for those who deal with bits, bytes, addresses and binary prefixes frequently.
It has a bc mode for general-purpose numerical calculations. Alternatively, it can also invoke the more featured calc which works better with expressions involving multiple bases.
bcal uses SI and IEC binary prefixes and supports 64-bit Operating Systems only.
Key Features
- REPL and single execution modes.
- Evaluate arithmetic expressions involving storage units.
- Perform general purpose calculations (using bc or calc).
- Works with piped input or file redirection.
- Convert to IEC/SI standard data storage units.
- Interactive mode with the last valid result stored for reuse
- Show the address in bytes.
- Show address as LBA:OFFSET.
- Convert CHS to LBA and vice versa.
- Base conversion to binary, decimal and hex.
- Custom sector size, max heads/cylinder and max sectors/track.
- Minimal dependencies.
Website: github.com/jarun/bcal
Support:
Developer: Arun Prakash Jana
License: GNU General Public License v3.0

bcal is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| Alternatives to bc | |
|---|---|
| cpc | Text calculator with support for units and conversion |
| eva | Simple calculator REPL |
| bc-gh | Implementation of Unix dc and POSIX bc with GNU and BSD extensions |
| bcal | Storage expression calculator |
| fend | Arbitrary-precision unit-aware calculator |
| Hypercalc | Interpreted calculator program designed to calculate extremely large numbers |
| Terminal-Based Calculators | |
|---|---|
| Genius | Desktop calculator, an educational tool in mathematics, and for research |
| Numbat | High precision scientific calculator supporting physical units |
| kalker | Calculator with math syntax |
| calc | C-style arbitrary precision calculator |
| concalc | Parser-algorithm of extcalc |
| wcalc | Uses intuitive expressions and implicit multiplication |
| pcalc | Terminal calculator made for programmers |
| bcal | Storage expression calculator |
| numr | Text calculator for natural language expressions |
| kalc | Complex numbers, 2d/3d graphing, arbitrary precision calculator |
| clac | Stack-based calculator with postfix notation |
| CalcPy | Calculator and advanced math solver using Python, IPython and SymPy |
| fortbite | Powerful mathematical calculator leveraging Fortran’s strengt |
| abacus | Simple interactive calculator CLI |
| Daisy | General-purpose TUI scientific calculator |
| Quich | Just an advanced terminal calculator |
| orpie | curses-based RPN calculator |
| Squiid | Advanced calculator supporting both RPN and algebraic input |
| mucalc | Convenient calculator for the command line |
| HIP35 | HP-35 RPN calculator emulator |
| csc | All calculations are done using 64 bit binary floating point arithmetic |
| RCalc | Reverse Polish Notation calculator |
| ec | RPN calculator with array operations and quotations |
| coriolinus-calc | CLI calculator app and library |
| spigot | Streaming exact real calculator |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

