# Number notation

Calculabo supports various special notations for real numbers. These affect both the input and output of numbers. Of course, this also applies to the notation of real and imaginary components of complex numbers.

## Basics

Negative numbers are prefixed with the minus sign ($-$). Conversely, non-negative numbers may be prefixed with a plus sign ($+$), although this is optional.

The **decimal separator** or **radix separator** used in Calculabo is the point ($.$). The comma ($,$) is not supported for this purpose since it has other meanings in Calculabo. Calculabo supports no thousands separator.

Note that both leading zeros before the radix separator and trailing zeros after the radix separator are meaningless.

### Example

**Percentages**, **permilles** and **permyriads** can be conveniently entered by using the respective symbols $\%$, $\u2030$ and $\u2031$. The latter two can be entered in Calculabo by first typing `%`

and then pressing space respectively once or twice.

### Example

Trigonometric functions in Calculabo use radians as the unit to measure corners. To input corners in **degrees**, one can use the degree symbol ($\xb0$), which is obtained by typing `'`

and pressing space twice. This converts the input from degrees to radians.

### Example

## Radix

To input and output numbers, Calculabo supports any **radix** or **base** between 2 and 62 inclusive. Calculabo uses subscript to indicate the radix of a number, itself written in base-10.

Numbers in Calculabo are case-sensitive. For bases higher than 10, the digits 10 through 35 are represented by uppercase letters `A`

through `Z`

and the digits 36 through 61 are represented by lowercase letters `a`

through `z`

.

To write a number in a base other than 10, type the number, followed by an underscore `_`

and the radix.

### Example

In its default settings, Calculabo outputs all results in base-10 even if the inputs were specified in another radix. Go to the *Settings* to select the radix used to output results of calculations.

## Scientific notation

Calculabo supports **scientific notation**. Go to the *Settings* to select this as the preferred output notation. Scientific notation is compatible with any radix.

To quickly enter a number in scientific notation, type `@`

to get $\cdot 10^$. If another ouput radix has been set in the *Settings*, this will be used instead of $10$. Make sure to use braces where necessary, as these are not automatically inserted when using this keyboard shortcut.

### Example

**Engineering notation** is a special case of scientific notation that uses base-10 with the exponent always being a multiple of 3. In the *Settings* this can be selected as the preferred output notation. The input of course works the same as scientific notation.

## Insignificant digits

Calculabo internally uses double-precision floating point numbers to store any number in memory and apply arithmetic to them. For complex numbers, the real and imaginary components are stored separately. In both cases, this means that when outputting a stored number in a particular radix, the last few digits have no significant meaning, yet these are needed to reconstruct exactly the same number in memory later.

By default, these **insignificant digits** are not displayed as they go beyond the actual storage accuracy of the calculator. In the *Settings*, there is an option to display these insignificant digits in the output. This option can be used in any base, regardless of whether scientific or engineering notation is enabled. You can use this option in rare special circumstances where you need to know exactly how Calculabo stores a number in memory.

Note that under some circumstances, the accumulating numerical error of subsequent calculation steps can grow so large that it becomes visible within the significant digits as well, despite the insignificant digits being hidden. This is an essential limitation of any system using floating-point arithmetic. In this case, the notion of significance only refers to the ability to store numbers in memory, not to the computational accuracy.