Skip to content

Latest commit

 

History

History
87 lines (53 loc) · 1.76 KB

README.md

File metadata and controls

87 lines (53 loc) · 1.76 KB

A text-based mathematical helper application built in Java. The program converts any kind of number (both integers and fractionals) from one numeral system to another, according to its base (radix). The later can range from 1 to 36. Among the most popular numeral systems it can convert from and to are:

  • binary (base 2): made of 0s and 1s, each digit represents a bit;
  • octal (base 8): made of eight numbers (0, 1, 2, 3, 4, 5, 6, 7);
  • decimal (base 10): made of ten numbers (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). This is the conventional numeral system used nowadays by most humans that was originally introduced in medieval times by the Arabs;
  • hexadecimal (base 16 or hex): made of 16 symbols - 0 to 9 are used to represent values from zero to nine while "A"–"F" (or alternatively "a"–"f") represent values ten to fifteen.

Apart from integers, the program also allows the user to convert fractional numbers in between two differente base systems. In order to execute it, the user needs to enter three symbols, each in a different line:

  • the number representing the source radix;
  • the symbol representing the source number;
  • the number representing the target radix.

If any one of the inputs entered by the user is not validated by the program (for instance, if one of the numbers representing a radix goes beyond the accepted number range - from 1 to 36 - or if the symbol representing the number can not be converted to the given radix), the user is presented with an error message

Example 1:

Input:

10 0.234 7

Output:

0.14315

Example 2:

Input:

10 10.234 7

Output:

13.14315

Example 3:

Input:

35 af.xy 17

Output:

148.g88a8

Example 4:

Input:

16 aaaaa.0 24

Output:

22df2.00000

Example 5:

Input:

21 4242 6

Output:

451552

Example 6:

Input:

1 1111111 10

Output:

7