A hexadecimal-to-binary chart maps base-16 (hex) digits to their 4-bit base-2 (binary) equivalents. Because one hex digit perfectly encapsulates one nibble (4 bits), this chart is the foundational lookup tool for memory addressing, microcontroller register configuration, and logic analyzer decoding. Instead of converting math on the fly, embedded engineers use this chart to instantly translate a hex memory dump into the physical high/low states of a digital bus.
How to Read the Hex Binary Chart (Columns and Standards)
The standard hex binary reference table contains three primary columns: Hexadecimal (0-F), Binary (0000-1111), and Decimal (0-15). The mapping is defined by standard positional numeral systems and aligns with the character encoding foundations laid out in RFC 20 (ASCII Standard) for values that overlap with text characters.
The correct column depends entirely on your hardware interface. If you are configuring memory-mapped I/O, setting GPIO masks on an ESP32, or reading a logic analyzer trace, use the Hex and Binary columns. If you are calculating UART baud rate divisors, configuring PWM duty cycles in a high-level API, or sending plain-text serial commands, use the Decimal column. Never mix base interpretations when writing directly to hardware registers.
To use the table effectively, locate your hex digit in the first column. Read directly across to the binary column to see the exact pin states (1 = HIGH/VCC, 0 = LOW/GND). For quick-jump bookmarking, the most queried rows on the bench are 0x0 (all clear), 0x5 (alternating 0101), 0xA (alternating 1010), and 0xF (all set).
The Complete 4-Bit Hex Binary Reference Table
Below is the complete 4-bit hex binary chart. While 8-bit, 16-bit, and 32-bit registers exist, they are strictly concatenations of these 16 foundational rows. For example, the 8-bit hex value 0xA4 is simply the 0xA row concatenated with the 0x4 row (1010 0100). This 16-row table is the universal, non-partial reference for all base-16 to base-2 conversions.
| Hex | Binary (Nibble) | Decimal | Common Bench Application |
|---|---|---|---|
| 0x0 | 0000 | 0 | Clear register, pull-down state |
| 0x1 | 0001 | 1 | Set bit 0 (LSB) |
| 0x2 | 0010 | 2 | Set bit 1 |
| 0x3 | 0011 | 3 | Set bits 0 and 1 |
| 0x4 | 0100 | 4 | Set bit 2 |
| 0x5 | 0101 | 5 | Alternating pattern (clock testing) |
| 0x6 | 0110 | 6 | Set bits 1 and 2 |
| 0x7 | 0111 | 7 | Lower 3 bits set |
| 0x8 | 1000 | 8 | Set bit 3 (MSB of nibble) |
| 0x9 | 1001 | 9 | Set MSB and LSB |
| 0xA | 1010 | 10 | Alternating pattern (inverse clock) |
| 0xB | 1011 | 11 | Clear bit 2 only |
| 0xC | 1100 | 12 | Upper 2 bits set |
| 0xD | 1101 | 13 | Clear bit 1 only |
| 0xE | 1110 | 14 | Clear bit 0 only |
| 0xF | 1111 | 15 | Set all bits, pull-up state |
Modifying Base Values: Shifting, Masking, and "Derating"
When working with electrical wire sizing charts (like NEC Table 310.16), derating rows modify the base ampacity value based on ambient temperature and conduit fill. A hex binary chart contains no derating rows because digital logic states do not degrade with heat in the same way copper does; a 1 is a 1 whether the silicon is at 25°C or 85°C. Instead of derating, embedded engineers modify base hex values using bit-shifting and masking.
If you need to apply a 4-bit configuration to the upper half of an 8-bit register, you do not look for a "derated" row. You shift the base value. For example, if your chart lookup for 0x5 is 0101, shifting it left by 4 bits (0x5 << 4) yields 0x50 (0101 0000). Masking is used to isolate specific bits without altering the rest of the register, typically using a bitwise AND with 0xF (to isolate the lower nibble) or 0xF0 (to isolate the upper nibble).
What This Table Cannot Tell You
While the hex binary chart perfectly maps raw bit states, it is blind to architectural context. Specifically, the table cannot tell you:
- Endianness: The chart shows
0x1234as0001 0010 0011 0100. However, if you write this to memory on a Little-Endian ARM Cortex-M4, it will be stored in memory as0x34followed by0x12. The chart does not dictate byte order. - Signed vs. Unsigned: The binary sequence
1111(0xF) represents decimal 15 in an unsigned system. In a 4-bit Two's Complement signed system, that exact same binary sequence represents decimal -1. The chart only provides the raw bits; the compiler or CPU ALU determines the mathematical interpretation. - Floating-Point Formats: If you are debugging an IEEE 754 single-precision float, the hex value
0x41200000translates to the decimal float10.0. The raw binary mapping of those hex digits will not intuitively reveal the decimal value without applying the IEEE sign, exponent, and mantissa extraction formulas.
Hex Binary Chart FAQ
How do I read a 32-bit hex register using a 4-bit hex binary chart?
Break the 32-bit hex value into eight individual 4-bit nibbles. For example, if the ESP32 Technical Reference Manual shows a register value of 0x3A0F8C11, separate it into 3, A, 0, F, 8, C, 1, 1. Look up each digit in the 4-bit chart and concatenate the results: 0011 1010 0000 1111 1000 1100 0001 0001. This gives you the exact state of all 32 physical pins or configuration bits in that register.
Why do some hex charts include octal, and do I need it for modern microcontrollers?
Octal (base-8) maps to 3-bit groupings. It was heavily used in early computing architectures like the PDP-8 and early Unix systems where word lengths were multiples of 3 (e.g., 12-bit or 18-bit). For modern 8-bit, 16-bit, and 32-bit microcontrollers (AVR, ARM, RISC-V, Xtensa), octal is practically obsolete. You can safely ignore the octal column on any reference chart unless you are maintaining legacy industrial PLCs or working with specific Unix file permission masks (like chmod 755).
How do I handle signed negative numbers not shown on the chart?
The chart only shows positive, unsigned representations (0 to 15 for 4-bit). To find the hex/binary representation of a negative number, you must use Two's Complement. First, find the positive binary value on the chart. Second, invert all the bits (change 1s to 0s and 0s to 1s). Third, add 1 to the result. For example, to find -5 in 4-bit: positive 5 is 0101. Invert to get 1010. Add 1 to get 1011 (which is 0xB in hex). Therefore, 0xB represents -5 in a signed 4-bit context.






