Bitwise is multi base interactive calculator supporting dynamic base conversion and bit manipulation. It's a handy tool for low level hackers, kernel developers and device drivers developers.
Some of the features include:
bitwise can be used both Interactively and in command line mode.
In command line mode, bitwise will calculate the given expression and will output the result in all bases including binary representation.
bitwise detects the base by the preface of the input (0x/0X for hexadecimal, leading 0 for octal, b for binary, and the rest is decimal).
bitwise starts in interactive mode if no command line parameters are passed or if the -i | --interactive flag is passed. In this mode, you can input a number and manipulate it and see the other bases change dynamically. It also allows changing individual bits in the binary. You can show the help screen by pressing F1 .
To move around use the arrow keys, or use vi key bindings : h j k l . Leave the program by pressing q .
You can toggle a bit bit using the space key. You can jump a byte forward using w and backwards one byte using b .
Reducing or extending the bit width interactively is also very easy, just use: ! for 8bit, @ for 16Bit, $ for 32Bit and * for 64Bit. When changing the bit width, the number is masked with the new width, so you might lost precision, use with care.
Press ~ to perform the NOT operator.
Press < and > to perform the left or right shift.
You can enter expression calculator mode by typing : (Just like in vim).
To exit the mode, just press ESC .
In this mode, you can type any expression you like to be evaluated. The result will be printed in the history window and also printed in the binary and various bases on top.
sudo add-apt-repository ppa:ramon-fried/bitwise sudo apt-get update sudo apt-get install bitwise
If your distribution supports Snap just type:
sudo snap install bitwise
You can use the AUR repository: https://aur.archlinux.org/packages/bitwise/
sudo port install bitwise
brew install bitwise
NCurses doesn't support windows. You can use the windows subsystem for Linux as a workaround.
On Ubuntu/Debian system you can just paste:
sudo apt-get install build-essential sudo apt-get install libncurses5-dev sudo apt-get install libreadline-dev sudo apt-get install libcunit1-dev
On Mac systems:
brew install automake brew install autoconf brew install readline export LDFLAGS="-L/usr/local/opt/readline/lib" export CPPFLAGS="-I/usr/local/opt/readline/include"
tar xfz RELEASE-FILE.TAR.GZ cd RELEASE-DIR ./configure make sudo make install
Running unit tests by typing