A number system is a mathematical notation for representing numbers of a given set. They are the foundation for conveying, quantifying, and manipulating data.
Number systems are mainly classified according to notations (positional notation vs sign-value notation) and their base. Today, we largely use the Arabic numerals which is a base-10 positional notation numbering system. Machines on the other hand may use a different number system - such as the binary number system.
In the positional notation, numbers are a string consisting of one or more juxtaposed digits. For example, fixed-point form number N takes the following form:
Where r is the radix or base. The base represents the number of digits in the number system. d are the digits defined for that given radix. The dot in the center (⋅) is known as the radix point. It separates the integer part on the left from the fractional portion on the right. Furthermore, the value of number N in base r can be represented in polynomial form as
Where d is the digit in the ith position. When a number has no fractional portion, the number can be more accurately called an integer. Conversely, if a number has no integer part, it is called a fractional number or simply a fraction.
On various occasions, a number might be written in the form where the subscript r is the radix of number N. Subscripts are used to indicate a base; often, to avoid confusion, when presenting values in different basis.
Decimal Number System
Main article: decimal
For the most part, humans use the decimal number system (base-10) for all day-to-day activities. It is the number system we learn and grow up with hence the most familiar to us. In a base-10 number system there are 10 distinct digits: . Consider the following number . Note the 10. We can express that number in polynomial form as
Now consider the fractional decimal number . Since there is no integer part, our exponents start at 0 and decrease with each additional digit:
Binary Number System
Main article: binary
In the binary number system, the radix is 2 - i.e. a number system capable of only representing two discrete values: . Let's consider the following number . Note that the subscript is 2. We can express this binary number in polynomial form as follows:
Note that as part of the process we've actually converted the number to decimal.
Octal Number System
Main article: octal
The octal number system as the name implies uses radix of 8; i.e. the number system is represented via 8 discrete values: . Let's take the number ,
An interesting property of a base-8 system being is that converting a number from binary to octal can easily done by breaking the number number into groups of 3 bits and converting each group individually into octal. Octal being 8 values means each group of 3 binary bits equates to a single octal digit. For example consider the following number . We can break the number into groups of 3 bits: . Each of those groups can now be converted to octal independently: . Note that the conversion from octal back to binary can just as easily be done by simple converting each individual octal digit back into a group of 3 binary digits.
Hexadecimal Number System
Main article: Hexadecimal
The Hexadecimal number system or base-16 has 16 discrete digits. Those digits have traditionally been . Note that A through F are decimal 10 through 15, respectively. In this example we'll use the hex number .
Note that the final value is rounded as a result of fraction estimation. Note that just like octal is also a power of 2 (), meaning conversion from binary to hex can be done by simply breaking down a binary number into groups of 4 bits and converting each group individually. For example, consider the number which can be broken down into . Converting a number back from hex to binary is done by simply converting each individual hex digit back into a group of 4 bits.