Here is a quick and dirty way of converting a decimal number to hexadecimal, octal, or binary. Below is an inline script followed by a normal shell script file. There are some non-looping examples toward the end of the post.
# ksh
# for i in 100 102 103 104 105 110 1000
> do
>
> typeset -i16 hex
> hex=$i
> print $i equals $hex in hexadecimal
>
> typeset -i8 oct
> oct=$i
> print $i equals $oct in octal
>
> typeset -i2 bin
> bin=$i
> print $i equals $bin in binary
>
>print
> done
100 equals 8#144 in octal
100 equals 2#1100100 in binary
102 equals 8#146 in octal
102 equals 2#1100110 in binary
103 equals 8#147 in octal
103 equals 2#1100111 in binary
104 equals 8#150 in octal
104 equals 2#1101000 in binary
105 equals 8#151 in octal
105 equals 2#1101001 in binary
110 equals 8#156 in octal
110 equals 2#1101110 in binary
1000 equals 16#3e8 in hexadecimal
1000 equals 8#1750 in octal
1000 equals 2#1111101000 in binary
Or put it in a script and specify an argument list via CLI
# vi my_converter.ksh
#!/bin/ksh
echo Add an argument list
exit
fi
hex=$i
print $i equals $hex in hexadecimal
oct=$i
print $i equals $oct in octal
bin=$i
print $i equals $bin in binary
done
:wq!
# chmod 755 my_converter.ksh
# my_converter.ksh 23 32 33 (Michael Jordan, Magic Johnson, Larry Bird)
No looping examples# sh
Convert Decimal to Hexadecimal
# echo 'obase=16;100'| bc
64
Convert Decimal to Decimal
# echo 'obase=10;10'| bc
10
Convert Decimal to Octal
# echo 'obase=8;34'| bc
42
Convert Decimal to Binary
# echo 'obase=2;10'| bc
1010
Binary, Octal, Hexadecimal to Decimal
# ksh
# echo $((2#101010))
42
# echo $((8#52))
42
# echo $((16#2A))
42