Programmer calculator

The programmer calculator (github) is a simple terminal tool designed to give maximum efficiency and flexibility to the programmer working with:

and who likes:

calculator

Making of

The idea was born while developing a Nintendo Gameboy Emulator. Romes - the pitcher - found that the tools given online were clunky and did not allow for "nice multitasking"

With the constant need to visualize and manipulate bits, it became evident that a better solution had to come to life

"God wills, man thinks, the work is born." - Fernando Pessoa, "A Mensagem"

Installation

Homebrew

First, create a new tap

$ brew tap alt-romes/pcalc

Then, install the program

$ brew install pcalc

Arch Based Linux

Install from AUR

$ yay -S programmer-calculator

Building from Source (alternative)

To build from source you need gcc, ncurses, and the source files.
If you don't have ncurses, please install it (i.e. with your system's package manager) first.
(To install ncurses in Debian based distros run sudo apt-get install libncurses5-dev libncursesw5-dev)

First, clone the repository and change directory to it

$ git clone https://github.com/alt-romes/programmer-calculator ; cd programmer-calculator

Then, compile the code into an executable file

$ make

Finally, move the executable to a directory reachable by $PATH

$ mv -i pcalc /usr/local/bin

Updating

Either re-build from source, or, using brew do

$ brew update

folowed by

$ brew upgrade pcalc

Running

Just run the programmer calculator program

$ pcalc

Features

Usage

There are various ways to insert values/operators, see the example 2 + 2 below:

Inline Math

Operator precedence and parenthesis for grouping is used.

2+2*3 evaluates to 8 and (2+2)*3 evaluates to 12


Hex + Binary + Decimal

All three number representations are available at the same time, you can insert 0xff + 0b101101 - 5 directly onto the calculator


Operand Size

By default, 64 bits are used for arithmetic, however, when working with bits, quite often we want to work with less. With this calculator you can change the amount of bits used. the number displayed will be unsigned

To use 16 bits instead, type 16cb (cb for "change bits")

To use 8 bits, type 8cb

To use 0 < n <= 64 bits, type ncb


Customizing Interface

While running the calculator, you can type what you see for it to appear/disappear:

To set a default interface, define an alias for the program with the desired hidden options

$ alias pcalc='pcalc -ibxdos'
i: history, b: binary, x: hex, d: decimal, o: operation, s: symbols

Operations

ADD  +    SUB  -    MUL  *    DIV  /    MOD  %
AND  &    OR   |    NOR  $    XOR  ^    NOT  ~
SL   <    SR   >    RL   :    RR   ;    2's  _
Programmer Calculator - A command line calculator made for programmers | Product Hunt

example usage in iterm panel

calculator in panel