Classes that make working with binary numbers easy!
npm install binary-numbers


> Classes that make working with binary numbers easy!
Allows one to easily work with many different types of binary formats, from
standard integer binary numbers to IEEE 754 floating point binary numbers. Also supports numbers which can either grow in size or remain fixed. Includes five different explicitly sizes fixed-length integer classes: Int8, Int16,Int32, Int64, and Int128.
This package is still in early development, and I'd like to make it as
good as possible. If you have any suggestions, please open a pull request!
#### Bit Manipulation
``typescript
import { FixedInt } from 'binary-numbers';
const int = new FixedInt(94) // 0b1011110
.clearBit(1) // 0b1011100
.clearBit(3) // 0b1010100
.setBit(5) // 0b1110100
.and(0x1F) // 0b0010100
.shiftLeft(2); // 0b1010000
console.log(int.toDecimal); // 80
`
#### Arithmetic
`typescript
import { Int8 } from 'binary-numbers';
// 12 + 48 + 61
const i1 = new Int8(12);
const i2 = new Int8('0b00110000'); // 48
const i3 = new Int8([1, 0, 1, 1, 1, 1, 0, 0]); // 60, note the
// lsb -> msb convention
const result = i1.add(i2).add(i3);
console.log(result.toString()); // Int8[0b01111001]
console.log(result.bits); // [1, 0, 0, 1, 1, 1, 1, 0]
console.log(result.toDecimal) // 121
`
#### Floating Point
TODO
See the API Documentation
With npm installed, run
```
$ npm install binary-numbers
MIT