# dec2base tools

NAME · USAGE · DESCRIPTION · PARAMETERS · EXAMPLES · BUGS · HELP
SEE_ALSO

## NAME

dec2base -- Convert decimal number to another base

## USAGE

dec2base input base

## DESCRIPTION

This script is a number base conversion routine to convert decimal numbers to another base.

Digits for values greater than 9 are assigned sequentially to the alphabet. For example, the value 10 is mapped to an a, value 11 is mapped to b, etc.

IRAF does provide the built-in function "radix" for this operation. However, it fails with bases larger than 16 (hexidecimal).

## PARAMETERS

input [int]
Decimal (base 10) number to convert to a different base.
base [int, minimum=2, maximum=36]
The base to which the "input" is being converted.
(output) [string]
This parameter will be set to the string representing the decimal number in the specified base.
(verbose = yes) [bool]
If yes, the result of the conversion is printed to STDOUT.

## EXAMPLES

1. Convert the value 31 to base 2 (binary).

```	cl> dec2base 31 2
11111
cl> lpar dec2base
input = 31         Base 10 number to convert
base = 2           Base to convert to
(output = "11111") Output: String representation of the conversion
(verbose = yes)    Print result to standard output?
```

2. Convert the value 31 to base 8 (octal)

```	cl> dec2base 31 8
37
```

3. Convert the value 31 to base 16 (hexidecimal)

```	cl> dec2base 31 16
1f
```

4. Convert the value 31 to base 10 (decimal)

```	cl> dec2base 31 10
31
```

## BUGS

This script is dependent on the host operating system character set. The only requirement is that the alphabet be represented sequentially and in increasing number from A/'a' to Z/'z'. ASCII satisfies this requirement. If this requirement is not met, the results will be unpredictable.

Since values greater than 9 are mapped into the alphabet, and there are only 26 letters in the alphabet, only numbers up to base 36 can be supported.