An open API service indexing awesome lists of open source software.

https://github.com/akatsuki105/bitwise-go

Multi-Platform Terminal based bit manipulator
https://github.com/akatsuki105/bitwise-go

bitwise cli golang tui

Last synced: 7 months ago
JSON representation

Multi-Platform Terminal based bit manipulator

Awesome Lists containing this project

README

          

# bitwise-go

![Go](https://github.com/Akatsuki-py/bitwise-go/workflows/Go/badge.svg)

## Multi-platform terminal based bitwise calculator

_bitwise-go_ 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.

This repository is based on [_mellowcandle/bitwise_](https://github.com/mellowcandle/bitwise).

Some of the features include:
* Works on multi-platform such as Windows, OSX, Linux.
* Individual bit manipulator.

![conversion](https://imgur.com/pcth8U0.png "Bitwise conversion")

![interactive](https://imgur.com/QI9BrHl.png "Bitwise interactive")

## Install

#### Download Binary

Please download binary from [Release page](https://github.com/Akatsuki-py/bitwise-go/releases).

#### Build by yourself

Requirement: Go and Make

```sh
$ git clone https://github.com/Akatsuki-py/bitwise-go.git
$ cd ./bitwise-go
$ make
```

## Usage
_bitwise-go_ can be used both Interactively and in command line mode.

### Command line calculator mode
In command line mode, bitwise will calculate the given expression and will output the result in all bases including binary representation.

_bitwise-go_ detects the base by the preface of the input (_0x/0X_ for hexadecimal, leading _0_ for octal, _0b_ for binary, and the rest is decimal).

### Interactive mode
_bitwise-go_ starts in interactive mode if no command line parameters are 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.

#### Navigation in interactive mode
To move around use the arrow keys, or use _vi_ key bindings : h j k l .
Leave the program by pressing q .

##### Binary specific movement
You can toggle a bit bit using the space key.

#### others
* _q_, _esc_ - Exit