Padova · IT
○ SEEDLING NOTE digital-systemselectronicscs-fundamentals

Binary Digital Systems

Systems that represent and process information using two discrete voltage levels mapped to 0 and 1.

A binary digital system represents and stores all data using exactly two discrete values — conventionally 0 and 1. Every piece of information in a modern computer — text, images, programs, network packets — is ultimately a sequence of these bits.

Why Binary?

Physical circuits are far more reliable at distinguishing two states (voltage high / voltage low) than at representing analog magnitudes precisely. A transistor is either on or off. Noise and manufacturing variation can shift an analog signal significantly without flipping a well-designed binary signal.

The two voltage levels are:

SymbolMeaningTypical voltage
0 (LOW)Logic false0 V
1 (HIGH)Logic true3.3 V or 5 V

Building Blocks

The Bit

The bit (binary digit) is the elementary unit of information — a single 0 or 1.

Groupings

GroupSizeRange
Nibble4 bits0–15
Byte8 bits0–255
Word16 / 32 / 64 bitsArchitecture-dependent

Encoding Numbers

Unsigned binary: positional notation in base 2.

10112=123+022+121+120=11101011_2 = 1 \cdot 2^3 + 0 \cdot 2^2 + 1 \cdot 2^1 + 1 \cdot 2^0 = 11_{10}

Two’s complement: the standard for signed integers.

To negate a number: invert all bits, add 1.

5=01012invert10102+110112=55 = 0101_2 \xrightarrow{\text{invert}} 1010_2 \xrightarrow{+1} 1011_2 = -5

The MSB is the sign bit. This encoding makes arithmetic circuits identical for signed and unsigned addition.

Logic Gates

All computation reduces to combinations of three fundamental gates:

GateSymbolBehavior
ANDA · BOutput 1 only if both inputs are 1
ORA + BOutput 1 if at least one input is 1
NOT¬AOutput 1 if input is 0

From these three, all other gates (NAND, NOR, XOR, XNOR) and all arithmetic circuits (adders, multipliers) can be constructed. NAND and NOR are individually functionally complete — any logic function can be built from only NANDs or only NORs.

Encoding Text

Raw binary numbers need a mapping to represent human-readable characters.

'A' = 65 = 0100 0001
'a' = 97 = 0110 0001
'0' = 48 = 0011 0000