Positional vs Non-Positional Numeral Systems
This article explains the concept of numeral systems with simple, practical examples. We focus on two major categories: positional (a digit’s value depends on its position) and non-positional (a digit’s value is fixed) systems.
What is a numeral system?
A numeral system is a set of rules for representing and writing numbers. Every system has a base (radix) and a set of digits. For example, in the decimal system the base is 10 and the digits are 0–9.
Positional vs non-positional
In positional systems, a digit’s value depends on its position. For instance, in 507 the digit 5 denotes five hundreds, 0 denotes zero tens, and 7 denotes seven ones. In non-positional systems, a digit’s value does not change with position; the number’s value is found via a sum of symbols or a rule-based combination.
Non-positional systems
- Tally marks:
||||= 4,|||| |||= 7. Each stroke is always 1; position is irrelevant. - Roman numerals:
I=1,V=5,X=10,L=50,C=100,D=500,M=1000. Numbers are formed mostly by addition (and sometimes subtraction). For example,VIII = 5+3 = 8,IX = 10−1 = 9,XL = 50−10 = 40. - Ancient Egyptian numerals: Numbers are written as repeated sums of unit, ten, hundred symbols, etc. (position is not significant).
In non-positional systems, writing large numbers requires many symbols, and arithmetic operations (especially multiplication/division) become cumbersome.
Positional systems
In a positional system, a number can be interpreted as a polynomial in the base:
(a_n a_{n-1} ... a_1 a_0)_b = a_n*b^n + a_{n-1}*b^{n-1} + ... + a_1*b + a_0
Condition: 0 ≤ a_i < bHere b is the base (radix); for example, decimal has b=10, binary has b=2, and hexadecimal has b=16. The digit 0 is crucial in positional systems: it serves as a placeholder and denotes the absence of value in a position.
Common positional systems- Decimal (b=10): the standard for everyday life, finance, and measurement.
- Binary (b=2): the basis of digital logic (0/1) and computer hardware.
- Octal (b=8) and Hexadecimal (b=16): compact representations of bit groups; convenient in programming.
- Base-6, base-5, base-20, base-60: appear across cultures and history (e.g., base-60 for time and angles).
Why are positional systems convenient?
- Compact notation: The same value can be written with fewer symbols (digits).
- Algorithmic arithmetic: Stable, repeatable algorithms exist for addition, subtraction, multiplication, and division.
- Scalability across bases: Core rules (place value, powers) generalize cleanly when the base changes.
Why is arithmetic harder in non-positional systems?
- Additive construction: Digits accumulate via addition; multiplication reduces to repeated addition, yielding bulky notations.
- Subtractive rules: Cases like
IV,IXin Roman numerals complicate straightforward algorithms. - Zero is absent or rare: Without a placeholder, it’s harder to generalize algorithms and structure.
| Aspect | Positional | Non-positional |
|---|---|---|
| Digit value | Depends on position (place value) | Fixed, independent of position |
| Digit 0 | Central role | Usually absent or rarely used |
| Arithmetic | Algorithmic, simpler | Complex, governed by rule sets |
| Compactness | High | Low |
| Usage | Everyday, scientific, computing | Historical, ceremonial, special notation |
Let’s see a few examples:
- Roman → decimal: MCMLXXXIV = 1000 + (1000−100) + 50 + 10 + 10 + 10 + (5−1) = 1984.
- Binary → decimal: 11001012 = 64 + 32 + 4 + 1 = 10110.
- Decimal → hexadecimal: 25510 → (FF)16.
- Decimal → binary (fraction): 0.110 ≈ 0.0001100110011…2 (repeating).
Bonus: Common pitfalls
- Using digits outside the base: e.g., digits 2 or 3 cannot appear in binary.
- Stopping fractional conversion too early: Choose a step limit and precision target up front to control error.
- Overusing subtractive notation in Roman numerals: forms like IL (49) are not standard; the correct form is XLIX.
While non-positional systems are historically and culturally fascinating, modern science and technology overwhelmingly rely on positional systems. Their strengths are place value, the digit 0, and algorithmic arithmetic. Knowing conversion methods simplifies everyday work in programming and engineering.