A hex digit is exactly four bits.
Flip eight switches below and a number, a two-digit hex code, and — if you're lucky — a letter all appear together. A hex digit covers 0–15 exactly, so a byte is always precisely two hex digits, no remainder, no carry at the boundary. Decimal doesn't divide bits that cleanly, which is the whole reason hex is computing's natural shorthand.
Why 16, not 10
2⁸ (one byte's worth of values)256
16² (two hex digits)256 — exact
10² (two decimal digits)100 — short
10³ (three decimal digits)1000 — over, and wastes a digit
This byte
dec
hex
bin
chr
Try
A nibble is half a byte, 4 bits, worth 0–15 — exactly the range one hex digit covers (0–9 then A–F for 10–15). That's why a byte is always exactly two hex digits: the high nibble times 16 plus the low nibble, with nothing left over. Octal (base 8) also divides bits evenly (3 bits per digit) and was genuinely used on older machines with 6-, 9-, or 12-bit words, but it doesn't line up with the 8-bit byte that won out afterward, so hex took over as the standard shorthand. This page covers unsigned integer encoding only — it doesn't show negative numbers (two's complement) or floating-point, which use bit patterns very differently. See hexadecimal and nibble on Wikipedia.