The format for arithmetic constants is: number or base#number where base is a whole number between 2 and 36, and number is any non-negative integer. If not specified, the default base is 10. The arithmetic base of a variable can be set with the typeset in command, or by prepending base# to the value. In this example, variable X is set to 5 in base 2 using both formats: $ typeset i2 X=5 or $ typeset i X=2#101 When variable X is expanded, the value is written in base 2: $ print $X 2#101 If you want to display the value of X in another base, just reset the base with the typeset in command. Here it is reset to base 3: $ typeset i3 X $ print $X 3#12 Arithmetic can be performed on numbers with different bases. Here is an example - X is set to 7 in base 2: $ typeset i X=2#111 Y is set to 8 in base 5: $ typeset i5 Y=8 and Z is set to base 16: $ typeset i16 Z Now, X and Y are added together and the result is put in Z: $ Z=X+Y $ print $Z 16#f We could convert the result to octal by resetting the base of Z using the typeset in command like this: $ typeset i8 Z $ print $Z 8#17 |