BCD 0000 0000 : 0000 0000 : 0000 0000
0110 b
0110 c
0110 d
.
0110 d
0110 a
0111 y

Binary-Coded Decimal — Where Numbers Become Art

the encoding

In BCD, each decimal digit is represented by its own four-bit binary sequence. The number 9 becomes 1001. The number 42 becomes 0100 0010. Simple. Precise. Beautiful.

4
0 1 0 0
0000

precision

Each digit maps to exactly four bits. No ambiguity, no approximation.

0001

readability

BCD preserves the decimal structure humans understand naturally.

0010

integrity

Financial systems rely on BCD to avoid floating-point rounding errors.

0011

simplicity

The conversion is mechanical. Elegant. A machine could learn it in one clock cycle.

the arithmetic

BCD addition requires a correction step — when a nibble exceeds 1001 (9), add 0110 (6) to carry into the next decimal place. The error becomes the method.

42
0 1 0 0
0 0 1 0

the sequence

Multi-digit numbers simply chain their nibbles. Each decimal digit occupies its own four-bit lane, independent of its neighbors. The number 42 is not stored as binary 101010 — it is stored as 0100 0010, preserving its decimal identity.

255
0010 0101 0101 ERR

overflow

When the sum exceeds the nibble boundary, bits cascade. The carry propagates. For a fraction of a cycle, the data is neither here nor there — it exists in the space between valid states.

A
0 1 1 1
(7)
B
1 0 0 0
(8)
=
1 1 1 1
(15 > 9!)
+6
0 1 1 0
correction
=
0001 0101
(15 → 1 5)

the correction

When 7 + 8 yields 1111 (15 in binary), the result exceeds the valid BCD range. Add 0110 — the six forbidden states — and the carry propagates upward, splitting the answer into two valid nibbles: 0001 0101. The error corrects itself.

invalid states

In BCD, the bit patterns 1010 through 1111 have no meaning. They are the void between valid encodings — six ghost states that exist in the hardware but represent nothing. When a circuit encounters one, it must correct or crash.

1010 void
1011 void
1100 void
1101 void
1110 void
1111 void

resolution

The glitch resolves. The carry completes. Every bit finds its place. The stream continues — because data never stops, and neither does the count.

DEC BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
2026
0010 0000 0010 0110

every day is a bcd.day