5.1 Numbering Systems and Conversions
Key Takeaways
- Binary (base-2) forms the foundational language of digital avionics, using bits with Most Significant Bit (MSB) indicating sign or highest weight and Least Significant Bit (LSB) defining resolution.
- Octal (base-8) groups binary bits into 3-bit triads (000–111) and is extensively used in ARINC 429 avionics label protocols to represent word identifiers.
- Hexadecimal (base-16) groups binary bits into 4-bit nibbles (0000–1111, hex 0–F), streamlining memory addressing and data bus monitoring in aircraft computers.
- Binary Coded Decimal (BCD) encodes each decimal digit (0–9) into a discrete 4-bit binary group (0000–1001), preventing fractional rounding errors in avionics radio frequencies and navigation displays.
5.1 Numbering Systems and Conversions
Modern aircraft avionics systems process, compute, and transmit flight data exclusively using digital techniques. While cockpit displays present information in human-readable decimal format, Line Replaceable Units (LRUs) such as Flight Management Computers (FMC), Air Data Computers (ADC), and Inertial Reference Units (IRU) communicate internally and across data buses using binary logic. Understanding digital numbering systems—specifically Binary, Octal, Hexadecimal, and Binary Coded Decimal (BCD)—is essential for aircraft electronics technicians responsible for troubleshooting digital buses, interpreting memory dumps, and configuring avionics hardware.
Fundamental Concepts of Positional Number Systems
All digital numbering systems rely on positional notation, where the total magnitude of a number is determined by summing the values of its individual digits multiplied by the base (radix) raised to the power of their positional column:
Where $b$ represents the number base, $d_i$ represents the digit at position $i$, and $n$ is the total number of digits.
In digital avionics, specific terminology defines data word bit counts:
- Bit: A single binary digit representing either a logic 0 or logic 1.
- Nibble: A contiguous group of 4 bits.
- Byte: A contiguous group of 8 bits.
- Word: A standard architecture length, typically 16 bits, 32 bits (such as an ARINC 429 word), or 64 bits.
- Most Significant Bit (MSB): The leftmost bit in a binary string, possessing the highest positional weight. In signed arithmetic, the MSB denotes numerical polarity (0 for positive, 1 for negative).
- Least Significant Bit (LSB): The rightmost bit in a binary string, carrying the lowest positional weight and defining the system's finest resolution.
Binary (Base-2) System
The binary system uses a radix of 2, utilizing only the digits 0 and 1. Each bit position corresponds to an ascending power of 2 ($2^0=1, 2^1=2, 2^2=4, 2^3=8, 2^4=16, 2^5=32, 2^6=64, 2^7=128$, etc.).
Binary-to-Decimal Conversion
To convert a binary number to decimal, multiply each bit by its positional weight ($2^i$) and calculate the sum.
Worked Example: Convert binary $11010110_2$ to decimal.
- Identify positional weights: $(1 \times 2^7) + (1 \times 2^6) + (0 \times 2^5) + (1 \times 2^4) + (0 \times 2^3) + (1 \times 2^2) + (1 \times 2^1) + (0 \times 2^0)$
- Compute powers: $(1 \times 128) + (1 \times 64) + (0 \times 32) + (1 \times 16) + (0 \times 8) + (1 \times 4) + (1 \times 2) + (0 \times 1)$
- Sum the values: $128 + 64 + 0 + 16 + 0 + 4 + 2 + 0 = 214_{10}$.
Decimal-to-Binary Conversion
Decimal integers are converted to binary using the repeated division-by-2 method. Divide the decimal number by 2, record the remainder (0 or 1), and continue dividing the quotient until it reaches 0. The recorded remainders read from bottom to top (last remainder to first remainder) yield the binary result from MSB to LSB.
Octal (Base-8) System and ARINC 429 Labels
The octal system uses a radix of 8, comprising digits 0 through 7. Because $8 = 2^3$, exactly 3 binary bits map directly to 1 octal digit. This 3-bit grouping (triad) makes octal a convenient shorthand notation for binary values.
In civil aviation, octal is the universal standard for identifying ARINC 429 data bus labels. An ARINC 429 word is a 32-bit digital transmission containing an 8-bit Label field occupying bits 1 through 8. Avionics engineers and technicians express these 8-bit label parameters as 3-digit octal numbers (e.g., Octal Label 203 represents Barometric Altitude, while Octal Label 310 represents Present Position Latitude).
Conversion Procedure Between Binary and Octal
- Binary to Octal: Partition the binary number into groups of 3 bits starting from the LSB (right to left). If the MSB group contains fewer than 3 bits, pad it with leading zeros. Convert each 3-bit triad into its single octal digit equivalent ($000_2=0_8, 001_2=1_8, 010_2=2_8, 011_2=3_8, 100_2=4_8, 101_2=5_8, 110_2=6_8, 111_2=7_8$).
- Octal to Binary: Replace each octal digit with its corresponding 3-bit binary triad.
Worked Example: Convert binary $10111001_2$ to octal.
- Group into 3-bit triads from right to left: $010 \quad 111 \quad 001$ (padded leftmost group with a zero).
- Translate triads: $010_2 = 2_8$, $111_2 = 7_8$, $001_2 = 1_8$.
- Result: $10111001_2 = 271_8$.
Hexadecimal (Base-16) System
The hexadecimal (hex) system uses a radix of 16, utilizing digits 0–9 followed by alphabetic characters A–F representing decimal values 10–15 ($A=10, B=11, C=12, D=13, E=14, F=15$). Because $16 = 2^4$, exactly 4 binary bits (one nibble) map directly to 1 hexadecimal digit. Hexadecimal is extensively used in software debugging, memory addressing, and MIL-STD-1553 data monitoring.
Conversion Procedure Between Binary and Hexadecimal
- Binary to Hexadecimal: Group binary bits into 4-bit nibbles from right to left (LSB to MSB), padding the most significant nibble with leading zeros if necessary. Convert each 4-bit group to its hex equivalent.
- Hexadecimal to Binary: Expand each hexadecimal digit into its 4-bit binary nibble equivalent.
Worked Example: Convert hexadecimal $\text{0xA5C}_{16}$ to binary and decimal.
- Expand to 4-bit binary nibbles: $\text{A}{16} = 1010_2$, $5{16} = 0101_2$, $\text{C}_{16} = 1100_2$. Binary result: $1010,0101,1100_2$.
- Convert to decimal: $(\text{A} \times 16^2) + (5 \times 16^1) + (\text{C} \times 16^0) = (10 \times 256) + (5 \times 16) + (12 \times 1) = 2560 + 80 + 12 = 2652_{10}$.
Binary Coded Decimal (BCD) Format
Binary Coded Decimal (BCD) is a specialized hybrid code where each digit of a decimal number is individually converted into a 4-bit binary code ($0000_2$ through $1001_2$). BCD is widely employed in aircraft flight decks for driving numeric displays (such as Distance Measuring Equipment (DME) readouts and VHF Radio Frequency Selectors) because it eliminates binary-to-decimal conversion rounding errors.
Crucially, in standard 8421 BCD, only 4-bit combinations representing decimal 0 through 9 are valid. The six nibble combinations from $1010_2 (10_{10})$ through $1111_2 (15_{10})$ are strictly invalid BCD codes and will generate display decoder faults if encountered.
Straight Binary vs. BCD Comparison
Consider decimal $89_{10}$:
- Straight Binary: $89_{10} = 0101,1001_2$ ($64 + 16 + 8 + 1$).
- BCD Encoding: Decimal digit $8 = 1000_2$, decimal digit $9 = 1001_2$. Thus, $89_{10} = 1000,1001_{\text{BCD}}$.
Cross-System Numbering Conversion Reference Table
| Decimal ($10_{10}$) | Binary (Base-2) | Octal (Base-8) | Hexadecimal (Base-16) | BCD (8421) |
|---|---|---|---|---|
| 0 | 0000 | 0 | 0 | 0000 0000 |
| 1 | 0001 | 1 | 1 | 0000 0001 |
| 2 | 0010 | 2 | 2 | 0000 0010 |
| 3 | 0011 | 3 | 3 | 0000 0011 |
| 4 | 0100 | 4 | 4 | 0000 0100 |
| 5 | 0101 | 5 | 5 | 0000 0101 |
| 6 | 0110 | 6 | 6 | 0000 0110 |
| 7 | 0111 | 7 | 7 | 0000 0111 |
| 8 | 1000 | 10 | 8 | 0000 1000 |
| 9 | 1001 | 11 | 9 | 0000 1001 |
| 10 | 1010 | 12 | A | 0001 0000 |
| 11 | 1011 | 13 | B | 0001 0001 |
| 12 | 1100 | 14 | C | 0001 0010 |
| 13 | 1101 | 15 | D | 0001 0011 |
| 14 | 1110 | 16 | E | 0001 0100 |
| 15 | 1111 | 17 | F | 0001 0101 |
Avionics Technical Traps & Exam Watch
- ARINC 429 Label Bit Reversal Trap: ARINC 429 bus hardware transmits label bits in reverse order (Bit 1 is MSB of the transmission sequence, but LSB of the label number). When converting binary label fields to octal on an oscilloscope or protocol analyzer, technicians must reverse the bit order of bits 1–8 before grouping into 3-bit octal triads.
- Straight Binary vs BCD Confusion Trap: Do not treat BCD numbers as standard binary byte values. For example, $0011,0100_{\text{BCD}}$ represents decimal $34_{10}$, whereas $0011,0100_2$ in standard binary equals decimal $52_{10}$ ($32 + 16 + 4$). Misinterpreting BCD data on an ARINC 429 bus leads to invalid parameter decoding in flight software.
An avionics technician reads an 8-bit ARINC 429 label field as binary 11010110. What is the equivalent octal label representation after grouping into 3-bit triads from LSB to MSB?
Which 4-bit binary group represents an invalid Binary Coded Decimal (BCD) code in avionics frequency displays?
What is the decimal value of the hexadecimal parameter 0xA5 read from a flight management computer memory address?