See The Video Here
Why Numbering Systems Matter
When it comes to working with PLCs, numbering systems are fundamental, whether you’re just diving in or have years of experience. Knowing the different numbering systems and data types helps in programming, troubleshooting, and working effectively with PLCs and industrial control systems.
At the heart of every PLC and computer system is digital code—often summarized as “ones and zeros.” This is the binary system, an example of a numbering system made up of just two digits: 1 and 0. Each of these binary digits, or bits, represents one unit of PLC memory and can be either on (1) or off (0). When bits are grouped together, they can represent values beyond a single on/off state, forming the basis of complex data handling in PLCs.
Where You’ll Encounter Numbering Systems in PLCs
Here are some examples:
- Binary: Used internally by PLCs to process data at the most basic level.
- Decimal: Often used in operator interfaces, where data is displayed in a human-friendly format.
- Octal: Used by some PLCs, especially older ones, for addressing memory locations.
- Hexadecimal: Commonly used for error codes.
Each numbering system has its own purpose and advantages, which we’ll explore below.
Positional Numbering Systems
Numbers, as we understand them, appear before us as a row of symbols called digits. The value of a digit depends on its position in the row with least significant to the right and most significant to the left.
Each numbering system has a base (sometimes called radix) The base is the quantity of unique digits, including the digit zero, used to represent numbers in a positional numbering system. We can break this down using an example. We can consider the decimal system since it is most familiar to us. There are 10 unique digits, 0 through 9. So, we can say the decimal system has a base of 10. If we are counting up beyond the digit 9, a one is carried over and added to the position to the left.
A common way of expressing the base is a small number to the lower right, in subscript.

The relationship between a digit, its position and the base of the number can be expressed as:

This equation determines the place value. For example, the position value for each digit in the decimal number 2022 can be calculated:

Add the place values together and you will find the overall value of the number.

Decimal System (Base 10)
We have already talked about the decimal system in the previous example. These are ordinary everyday numbers for most of us. The digits in this system are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Let’s summarize the decimal system with one more image of the decimal number 2022.

Binary System (Base 2)
The binary system is essential for PLCs and digital systems. The digits in this system are 0 and 1, representing an off or on state.


To convert from decimal to binary, divide the decimal value by 2. Make note of the quotient and jot down the remainder as the least significant digit of the converted number.
Now take the quotient from the previous division and divide it by 2. Make note of this result and jot down the remainder as the next most significant digit of the converted number.

Octal System (Base 8)
The octal system is based on eight unique digits (0–7). Older PLCs sometimes use octal numbering for addresses.


Converting from decimal to octal follows a similar method as binary: divide the decimal by 8, noting each remainder, until the quotient reaches zero.

Hexadecimal System (Base 16)
The hexadecimal system has 16 digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. It is often seen in error codes and addresses.


To convert a decimal to hexadecimal, divide by 16. If the remainder exceeds 9, substitute with the corresponding letter (A for 10, B for 11, etc.).

The Practical Side of Number Conversion
See The Video Here
You can manually convert numbers between bases using the steps outlined, but for quick conversions, most engineers use tools like the Windows Calculator in Programmer Mode. This mode allows switching between decimal, binary, octal, and hexadecimal, saving time and reducing errors. This is the easy way.

Binary Coded Decimal
Binary Coded Decimal (BCD) is different from the numbering systems we have looked at so far. It is not a positional numbering system. BCD is designed to interact with field devices, known as thumb switches and 7-segment displays, to input and display decimal numbers using a binary code. Each decimal digit is stored as a separate 4-bit group, called a nibble.

Here’s how BCD encodes 0–9 in 4-bit binary:

For example, the decimal number 5092 would be represented as 4 nibbles: 0101 0000 1001 0010

Wrap-Up
Each numbering system has a role to play in PLC programming and control systems, from internal binary data handling to hexadecimal error codes. Understanding these systems and how to work between them makes you a more effective programmer, helping bridge the gap between the PLC’s digital world and human-readable formats
If you enjoy reading these blogs about PLC basics , then you might want to check out this course on Udemy called the Pre PLC Programming Course. The information here is based on material from that course. It is not geared toward any particular brand of PLC our programming software. The fundamentals are relevant to all types of PLCs. Or, take a look at other courses offered here.
Up Next – Numeric Data Types in PLC Programming