calc: Radix Modes
7.7.1 Radix Modes
-----------------
Calc normally displays numbers in decimal (“base-10” or “radix-10”)
notation. Calc can actually display in any radix from two (binary) to
36. When the radix is above 10, the letters ‘A’ to ‘Z’ are used as
digits. When entering such a number, letter keys are interpreted as
potential digits rather than terminating numeric entry mode.
The key sequences ‘d 2’, ‘d 8’, ‘d 6’, and ‘d 0’ select binary,
octal, hexadecimal, and decimal as the current display radix,
respectively. Numbers can always be entered in any radix, though the
current radix is used as a default if you press ‘#’ without any initial
digits. A number entered without a ‘#’ is _always_ interpreted as
decimal.
To set the radix generally, use ‘d r’ (‘calc-radix’) and enter an
integer from 2 to 36. You can specify the radix as a numeric prefix
argument; otherwise you will be prompted for it.
Integers normally are displayed with however many digits are
necessary to represent the integer and no more. The ‘d z’
(‘calc-leading-zeros’) command causes integers to be padded out with
leading zeros according to the current binary word size. (Binary
Functions, for a discussion of word size.) If the absolute value of
the word size is ‘w’, all integers are displayed with at least enough
digits to represent ‘(2^w)-1’ in the current radix. (Larger integers
will still be displayed in their entirety.)
Calc can display ‘w’-bit integers using two’s complement notation,
although this is most useful with the binary, octal and hexadecimal
display modes. This option is selected by using the ‘O’ option prefix
before setting the display radix, and a negative word size might be
appropriate (Binary Functions). In two’s complement notation,
the integers in the (nearly) symmetric interval from ‘-2^(w-1)’ to
‘2^(w-1)-1’ are represented by the integers from ‘0’ to ‘2^w-1’: the
integers from ‘0’ to ‘2^(w-1)-1’ are represented by themselves and the
integers from ‘-2^(w-1)’ to ‘-1’ are represented by the integers from
‘2^(w-1)’ to ‘2^w-1’ (the integer ‘k’ is represented by ‘k+2^w’). Calc
will display a two’s complement integer by the radix (either ‘2’, ‘8’ or
‘16’), two ‘#’ symbols, and then its representation (including any
leading zeros necessary to include all ‘w’ bits). In a two’s complement
display mode, numbers that are not displayed in two’s complement
notation (i.e., that aren’t integers from ‘-2^(w-1)’ to ‘2^(w-1)-1’)
will be represented using Calc’s usual notation (in the appropriate
radix).