number-based 0.1.0

number-based is an attempt of mine to make working with number bases simple.
Documentation

Number-Based: Tool for working with number bases

Number-Based is an attempt of mine to make working with number bases simple.

Usage

This crate is built around the NumberBase struct.

Examples:

use number_based;

fn main() {
    let mut number = number_based::NumberBase::from_string(7863, "NUMBERBASED").unwrap();

    // convert number to base 10
    number.convert(10);

    // prints value 20781774882369576414324066149192513674771
    println!("{}", number.display());
}
use number_based;

fn main() {
    let mut number = number_based::NumberBase::from_string(10, "120387517860123746975").unwrap();

    // conver number to base 10000
    number.convert(10000);

    // prints value "1ࡒᶹ⇵ঢᮛ"
    println!("{}", number.display());
}
use number_based;

fn main() {
    let mut number1 = number_based::NumberBase::from_string(30000, "ð䧈炙㞈榻").unwrap();
    // 120387517860123746975 in base 10

    let mut number2 = number_based::NumberBase::from_string(30000, "20").unwrap();
    // 60000 in base 10

    let (quotient, remainder) = number1.divide(number2);
    println!("quotient: {} ", quotient.display());
    println!("remainder: {}", remainder.display());
    // prints the following:
    // quotient: ¦┒㡺嚊         (2006458631002062 in base 10)
    // remainder: 榻            (26975 in base 10)
}
use number_based;

fn main() {
    let number1 = number_based::NumberBase::from_string(36, "LIUBWALI").unwrap();

    let number2 = number_based::NumberBase::from_string(32, "20ABC").unwrap();

    // NumberBase can be added just like any other number type!
    // Do note however that the resulting NumberBase will be of the same base as the first
    // NumberBase.
    //In this instance res.base would be of base 36 NOT 32!
    let res = number1 + number2;
    assert_eq!(res.base(), 36);

    // prints "LIUD5GYA"
    println!("{}", res.display());
}

LICENSE

apache 2.0

See LICENSE document for complete license.