Octal Conversion Formula – Positional Notation & 3-Bit Substitution

The octal-to-decimal positional notation formula and the octal-to-binary 3-bit substitution method, with full variable definitions, procedure steps, and three worked examples.

Formula
To convert an octal number to decimal, each digit dᵢ is multiplied by 8 raised to its positional index i (counting from 0 at the rightmost digit) and all products are summed. For binary output, each octal digit is replaced by its 3-bit binary equivalent — no arithmetic needed. For hexadecimal output, first expand to binary, then regroup the bits into 4-bit chunks.
Variables
SymbolNameDescriptionUnit
N₁₀Decimal resultThe decimal (base-10) value of the octal number — the sum of all digit contributions weighted by powers of 8
dᵢOctal digit at pos iA single digit from the set {0, 1, 2, 3, 4, 5, 6, 7} at position i. Invalid if 8 or 9 appears
iDigit positionInteger index starting at 0 for the rightmost digit, increasing by 1 leftward. Position i contributes a weight of 8^i
nNumber of digitsTotal count of octal digits in the number — the leftmost digit is at position n−1 with weight 8^(n-1)
How to Use
  1. Label each octal digit's position from 0 (rightmost) to n−1 (leftmost).
  2. Compute the weight for each position: 8⁰=1, 8¹=8, 8²=64, 8³=512, 8⁴=4096, …
  3. Multiply each digit by its weight and sum all products — the total is the decimal value.
  4. For octal → binary: replace each octal digit with its 3-bit binary string (0→000, 1→001, …, 7→111). Concatenate the results. Drop any leading zeros from the final binary number if desired.
  5. For octal → hex: first expand to binary (step 4), then pad the binary string on the left with zeros to a multiple of 4 bits, split into 4-bit groups from right to left, and convert each group to its hex digit.
Examples
1. Convert (374)₈ to decimal using positional notation
Digit374
Position210
Weight (8^i)6481
Product192564
(374)₈ = 252₁₀. Verify: 252 ÷ 8 = 31 R 4, 31 ÷ 8 = 3 R 7, 3 ÷ 8 = 0 R 3 → read bottom to top: 374₈ ✓
2. Convert (52)₈ to binary using 3-bit substitution
Octal digit52
3-bit binary101010
(52)₈ = (101010)₂. Verify: 32+8+2 = 42₁₀. And 5×8+2 = 42₁₀ ✓
3. Convert (374)₈ to hexadecimal via binary

Step 1: expand to binary — 3=011, 7=111, 4=100 → binary 011111100 (9 bits).

Step 2: pad to 12 bits → 000011111100. Split into 4-bit groups: 0000 | 1111 | 1100.

4-bit group000011111100
Hex digit0 (drop)FC
(374)₈ = (FC)₁₆. Verify: 15×16 + 12 = 240+12 = 252₁₀ ✓