Skip to content

patzj/number-system

Repository files navigation

number-system NPM version Build Status

A number system conversion library. Supports binary, octal, decimal and hexadecimal.

Installation

$ npm install --save number-system

Usage

Creating Instance (TypeScript/JavaScript)

import NumberSystem from 'number-system';

// Creates a NumberSystem object that converts from decimal (base 10) to a target base
const ns = new NumberSystem(10);

Supported Bases

  • 2 - Binary
  • 8 - Octal
  • 10 - Decimal
  • 16 - Hexadecimal

Basic Conversion

// Assuming ns is initialized as new NumberSystem(10)

// Returns '1100011'
ns.bin(99);

// Returns '1100011'
ns.bin('99');

Available Conversion Methods

Method Description Parameter
bin Converts argument to binary number or string value
oct Converts argument to octal number or string value
dec Converts argument to decimal number or string value
hex Converts argument to hexadecimal number or string value

Note: Use string arguments when converting hexadecimal values with alpha characters (e.g., '0xff').

Changing Base

// Assuming ns is initialized as new NumberSystem(10)

// Returns 10
console.log(ns.base);

// Changes the original base to hexadecimal (base 16)
ns.base = 16;

// Returns 16
console.log(ns.base);

// Returns '0143' (63 in octal)
ns.oct('0x63'); // Input is hexadecimal '0x63' (decimal 99), converted to octal

// Returns '99' (99 in decimal)
ns.dec('0x63'); // Input is hexadecimal '0x63' (decimal 99), converted to decimal

Development

Setup

  1. Clone the repository:
    git clone https://github.com/patzj/number-system.git
    cd number-system
  2. Install dependencies:
    npm install

Building

To compile the TypeScript source code into JavaScript and generate type definitions:

npm run build

The compiled output will be in the dist/ directory.

Testing

To run the test suite:

npm test

License

MIT

About

A number system conversion library. Supports binary, octal, decimal and hexadecimal.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors