Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Shell
  3. pcalc

pcalc

GPL-3.0Cv3.0

A terminal calculator for programmers working with binary, hexadecimal, and decimal numbers, bitwise operations, and custom operand sizes.

GitHubGitHub
589 stars26 forks0 contributors

What is pcalc?

Programmer Calculator (pcalc) is a terminal-based tool designed for software developers and embedded engineers who need to perform calculations involving multiple number representations and bit-level manipulations. It provides an efficient interface for working with binary, hexadecimal, and decimal numbers simultaneously, addressing the limitations of clunky online tools. The tool supports custom operand sizes, bitwise operations, and a customizable interface to maximize productivity in hardware-close programming tasks.

Target Audience

Software developers, embedded engineers, and anyone working close to the hardware, such as those developing emulators (e.g., Nintendo Gameboy Emulator) or systems programming, who require frequent bit-level calculations and multi-representation number handling.

Value Proposition

Developers choose pcalc for its terminal-based efficiency, allowing seamless multitasking without switching to online tools, and its flexibility in handling complex expressions with operator precedence, custom bit-widths, and a highly customizable interface that can be tailored to individual workflows.

Overview

Terminal calculator made for programmers working with multiple number representations, sizes, and overall close to the bits

Use Cases

Best For

  • Performing bitwise operations (AND, OR, XOR, shifts, rotates) directly in the terminal for embedded systems development.
  • Converting and calculating with mixed number representations (binary, hexadecimal, decimal) in a single expression, such as '0xff + 0b101101 - 5'.
  • Working with custom operand sizes (1 to 64 bits) to match specific data types like 8-bit or 16-bit integers in low-level programming.
  • Customizing a calculator interface by toggling history, number representations, and colors to suit personal preferences and reduce clutter.
  • Handling endianness swaps and two's complement calculations for hardware-related tasks, such as emulator development or network programming.
  • Using inline math with operator precedence and parentheses for complex expressions without leaving the terminal environment.

Not Ideal For

  • Projects requiring floating-point or high-precision scientific calculations, as pcalc focuses on integer and bitwise operations.
  • Teams preferring graphical user interfaces with mouse interactions over terminal-based tools for visual ease.
  • Environments where installing C dependencies like ncurses is impractical, such as minimal or locked-down systems.

Pros & Cons

Pros

Multi-Representation Support

Allows simultaneous use of binary, hexadecimal, and decimal numbers in expressions like '0xff + 0b101101 - 5', eliminating the need for separate conversion tools.

Rich Bitwise Operations

Includes AND, OR, XOR, shifts, rotates, NOR, and endianness swaps, covering most low-level programming needs directly from the terminal.

Customizable Interface

Enables toggling history, number representations, and colors via commands or aliases, allowing users to tailor the display to their workflow.

Flexible Operand Sizes

Supports 1 to 64-bit widths with commands like '16bit', making it ideal for embedded systems where data types vary.

Cons

Integer-Only Arithmetic

Lacks floating-point support, limiting its usefulness for scientific or financial calculations that require decimal precision.

Dependency on ncurses

Building from source requires ncurses library, which may not be pre-installed, adding setup complexity for some users.

Limited Platform Support

Primarily available via Homebrew or AUR, with source build as an alternative; not widely packaged for all Linux distributions or Windows native.

Frequently Asked Questions

Quick Stats

Stars589
Forks26
Contributors0
Open Issues5
Last commit6 months ago
CreatedSince 2021

Tags

#calculator#ncurses#terminal#c-program#c#hexadecimal#embedded-development#cli#terminal-tool

Built With

M
Make
n
ncurses
C
C++

Included in

Shell36.8k
Auto-fetched 1 day ago

Related Projects

wttr.inwttr.in

:partly_sunny: The right way to check the weather

Stars29,683
Forks1,238
Last commit2 days ago
rangerranger

A VIM-inspired filemanager for the console

Stars17,194
Forks926
Last commit7 days ago
taskbooktaskbook

Tasks, boards & notes for the command-line habitat

Stars9,316
Forks396
Last commit6 months ago
wegowego

weather app for the terminal

Stars8,471
Forks504
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub