The binary value table translates base-2 (ON/OFF) hardware states into base-10 (decimal) and base-16 (hexadecimal) formats. For electrical engineers, PLC programmers, and embedded developers, this table is the master key for configuring Modbus RTU slave addresses, setting physical DIP switches on Variable Frequency Drives (VFDs), and writing bit-masks for ESP32 or Arduino GPIO registers. The direct answer to reading these tables is straightforward: read physical switches from Most Significant Bit (MSB) to Least Significant Bit (LSB), map the 1s and 0s to the binary column, and extract your protocol-specific value from the corresponding hex or decimal column.
The 8-Bit Binary Value Table for Hardware Addressing
The table below maps the most critical 8-bit binary boundaries, bit-masks, and hardware states used in industrial and embedded installations. This data aligns with standard boolean logic representations defined in Modbus Organization specifications and All About Circuits digital logic references.
| Binary (MSB to LSB) | Hexadecimal | Decimal | Common Application / DIP Switch State |
|---|---|---|---|
00000000 |
0x00 |
0 | All OFF (Default Modbus ID 0 / Broadcast) |
00000001 |
0x01 |
1 | Bit 0 ON (Modbus ID 1 / LSB set) |
00001111 |
0x0F |
15 | Lower Nibble ON (Common 4-bit DAC mask) |
00010000 |
0x10 |
16 | Bit 4 ON (Hex 10, common base offset) |
01010101 |
0x55 |
85 | Alternating 01 (GPIO pin toggle test pattern) |
10101010 |
0xAA |
170 | Alternating 10 (Inverted toggle test pattern) |
01111111 |
0x7F |
127 | Max positive signed 8-bit integer |
10000000 |
0x80 |
128 | MSB ON (Sign bit in signed integers) |
11110000 |
0xF0 |
240 | Upper Nibble ON (High-byte mask) |
11111111 |
0xFF |
255 | All ON (Max unsigned 8-bit / Broadcast mask) |
If you are physically flipping switches on a stepper driver or VFD, use the Binary / DIP Switch State column to match the physical ON/OFF toggles. If you are writing Modbus RTU polling scripts in Python or C++, use the Hexadecimal column, as serial protocols natively package data in hex bytes. If you are mapping I/O in a PLC ladder logic environment (like Allen-Bradley or Siemens TIA Portal), use the Decimal column, as PLC memory addresses and integer tags are base-10 by default.
How Endianness and Bit-Masking Modify the Base Value
In conductor sizing, NEC Table 310.16 derating factors reduce base ampacity based on ambient temperature and conduit fill. In binary register mapping, endianness and bit-shifting act as the 'derating' modifiers that alter how the base binary value is interpreted by the controller. The physical binary states on the wire or in the register haven't changed, but the interpreted decimal value is radically modified by the protocol's architecture.
Consider a 16-bit Modbus holding register transmitting the binary sequence 00010010 00110100. Looking at a standard 16-bit binary value table, the base hexadecimal value is 0x1234, which equals a decimal value of 4660. However, if your installation uses a Little-Endian microcontroller (common in ARM-based PLCs and the ESP32-WROOM-32), the bytes are swapped in memory. The controller reads the sequence as 0x3412, yielding a decimal value of 13330.
Similarly, bit-masking modifies the base value by intentionally stripping away higher-order bits. If a sensor returns an 8-bit value of 0xF5 (Decimal 245), but your microcontroller only needs the lower 4 bits for a PWM duty cycle calculation, you apply a bitwise AND with the 0x0F mask (Binary 00001111). The base value of 245 is 'derated' down to 0x05 (Decimal 5). Always verify the Espressif ESP32 Technical Reference Manual or your specific PLC hardware guide to confirm whether registers are Big-Endian (network byte order) or Little-Endian before writing your conversion logic.
What the Binary Table Cannot Tell You
While a binary value table perfectly maps mathematical states, it is entirely blind to the physical electrical realities of your hardware. Relying solely on the table without checking the component datasheet will lead to fried logic boards and ghost-triggered inputs. Here is what the table leaves out:
- Voltage Logic Thresholds (V_IL and V_IH): A binary '1' is just a mathematical concept. Physically, on an Arduino Uno (ATmega328P), a '1' requires a minimum of 3.0V (5V TTL logic). On an ESP32 or Raspberry Pi Pico, a '1' is recognized at 2.0V (3.3V LVCMOS logic). Feeding a 5V binary '1' into a 3.3V ESP32 GPIO pin without a logic level shifter or voltage divider will destroy the silicon.
- Active-Low vs. Active-High Logic: The table assumes a binary '1' means ON and '0' means OFF. In many industrial relay boards and microcontroller reset pins, the logic is inverted (Active-Low). A binary '0' (0V / GND) energizes the relay coil, while a '1' (VCC) leaves it open. Always check the schematic for inversion bubbles on logic gates or 'LOW' triggers on relay module silkscreens.
- Timing and Debounce Constraints: The table shows static states. It does not account for switch bounce (where a mechanical DIP switch rapidly toggles between 0 and 1 for milliseconds before settling) or the setup-and-hold times required by flip-flops and shift registers like the 74HC595. You must implement software debouncing (typically 20-50ms delays) or hardware RC filters to ensure the binary value read by the MCU matches the physical switch state.
Use the binary value table as your mathematical map, but always validate your physical layer against the specific datasheet of the microcontroller, PLC, or drive you are wiring.






