← GCSE Computer Science · AQA · GCSE Computer Science revision
⭐ 0
AQA GCSE Computer Science (8525) · 3.3 Fundamentals of data representation
Mini-Lesson

Fundamentals of data representation

7 missions. Guess, learn, then check. Your place is saved.

  1. Mission 1Web colours look like #FF8C00. Why letters and numbers?
  2. Mission 2How can a computer multiply by 8 without doing any multiplying?
  3. Mission 3How does a computer store the letter A if it can only store numbers?
  4. Mission 4Double a photo's width and height: how much bigger is the file?
  5. Mission 5How can a list of numbers turn into a song?
  6. Mission 6How can a file shrink but still open exactly as before?
  7. Mission 7Morse code: why is E a single dot?
Mission 1

Web colours look like #FF8C00. Why letters and numbers?

Make a guess: Web colours look like #FF8C00. Why letters and numbers?

Data representation · number bases

Everything is binary

One pattern, many meaningsoff0on1off0off0off0off0off0on165Aa pixel colour
  • A computer is built from billions of tiny switches, each off or on. So it stores and processes everything in binary: 0s and 1s.
  • Numbers, text, images, sound and program instructions are all binary patterns.
  • One pattern can mean a number, a letter or a colour.
  • A bit is a single 0 or 1.
Data representation · number bases

Binary place values

Binary place values128643216842101101001MSBLSB64 + 32 + 8 + 1 = 105
  • Denary (base 10) columns go 1, 10, 100. Binary (base 2) columns double: 1, 2, 4, 8…
  • Add columns holding 1: 0110 1001 = 64 + 32 + 8 + 1 = 105.
  • Leftmost bit: most significant bit (MSB). Rightmost: least significant bit (LSB).
  • Each extra bit doubles the patterns: 8 bits give 256 (0 to 255).
  • Leading zeros change nothing: 11010 = 0001 1010.
1286432168421
01101001
Calculate
?Convert the binary number 1011 0110 to denary.
Your answer
?Convert the denary number 200 to 8-bit binary.
Data representation · number bases

Hexadecimal

Binary to hexadecimal842184211101011113 → D7 → 71101 0111 = D7 in hex101112131415ABCDEFHex is shorter1010 0101 1111 000016 charactersA5F04 characters
  • Hexadecimal (base 16) has sixteen digits: 0–9, then A–F for 10–15.
  • One hex digit is exactly 4 bits (a nibble), as 4 bits give 16 patterns.
  • Binary to hex: split into nibbles from the right: 1101 0111 → D7.
  • Hex to binary: each digit becomes 4 bits: 3F → 0011 1111.
  • Hex to denary: 8C = 8 × 16 + 12 = 140.
  • Denary to hex: 200 ÷ 16 = 12 r 8, so C8.
Your answer
?Convert the binary number 1011 1110 to hexadecimal.
Calculate
?Convert the hexadecimal number A7 to denary.
Data representation · number bases

Why use hex?

Binary to hexadecimal842184211101011113 → D7 → 71101 0111 = D7 in hex101112131415ABCDEFHex is shorter1010 0101 1111 000016 charactersA5F04 characters
  • Computers never store hex. It is a shorthand for binary for humans.
  • Hex is much shorter: 8 bits become 2 hex digits.
  • It is easier to read, remember and copy without mistakes than long strings of 0s and 1s.
  • Converting hex to binary is quicker than converting denary to binary, because each digit maps to 4 bits.
  • Uses: colour codes in web pages, MAC addresses, memory addresses and error codes.
Mission check

?Why is a web colour such as #FF8C00 written with letters and numbers?
Mission 2

How can a computer multiply by 8 without doing any multiplying?

Make a guess: How can a computer multiply by 8 without doing any multiplying?

Data representation · binary arithmetic

Adding in binary

Binary addition1286432168421111carry0100101175+001001103801110001113
  • Add column by column from the right, carrying like denary addition.
  • 0 + 0 = 0 · 0 + 1 = 1 · 1 + 1 = 10 (write 0, carry 1) · 1 + 1 + 1 = 11 (write 1, carry 1).
  • Example: 0100 1011 + 0010 0110 = 0111 0001 (75 + 38 = 113).
  • Check by converting each number to denary.
Your answer
?Add these two 8-bit binary numbers: 0101 1011 + 0011 0110. Give the 8-bit answer.
Data representation · binary arithmetic

Adding three numbers

Binary addition1286432168421111carry0100101175+001001103801110001113
  • Line up all three numbers and add one column at a time from the right.
  • Count the 1s in the column, including any carry: 0 → write 0, 1 → write 1, 2 → write 0 carry 1, 3 → write 1 carry 1.
  • Example: 0001 0101 + 0000 0110 + 0000 0011 = 0001 1110 (21 + 6 + 3 = 30).
Your answer
?Add these three binary numbers: 0010 0101 + 0001 0011 + 0100 0110. Give the 8-bit answer.
Data representation · binary arithmetic

Binary shifts

Binary shiftsLeft shift 1 placeBefore0000110113After00011010260lostRight shift 1 placeBefore0000110113After0000011061lost
  • Binary columns double in value from right to left.
  • A binary shift slides every bit left or right. Bits pushed off the end are lost; gaps fill with 0.
  • Left 1 place: × 2. Right 1 place: ÷ 2, remainder lost. Use: fast × or ÷ by 2, 4, 8.
  • 0000 1101 (13) shifted left 1 → 26; right 1 → 6.
  • This is a logical shift.
Your answer
?Shift 0001 0110 three places to the left. Give the 8-bit result.
Calculate
?Shift 0110 1101 (109) two places to the right. What is the result in denary?
Quick check
?1110 0000 (224) is shifted 2 places left in an 8-bit register. What is the result?
Mission check

?How can a computer multiply a number by 8 without doing any multiplying?
Mission 3

How does a computer store the letter A if it can only store numbers?

Make a guess: How does a computer store the letter A if it can only store numbers?

Data representation · characters

Characters as codes

Characters as codesAkey pressmemory0 1 0 0 0 0 0 1Ascreencharacter setboth devices use the same table
  • Each character (letter, digit, symbol, space) is stored as a binary number: its character code.
  • A character set is the agreed list of characters a computer can use, each with its own code.
  • Using a standard character set means text keeps its meaning when it moves between programs and devices.
  • Typing A sends A's code; the screen looks up the code to draw the A.
Data representation · characters

ASCII

ASCII codes run in orderDigitsCharacterDenaryBinary (7-bit)'0'480110000'1'490110001'2'500110010+1CapitalsCharacterDenaryBinary (7-bit)A651000001B661000010C671000011………Z901011010+1Lower caseCharacterDenaryBinary (7-bit)a971100001b981100010c991100011………z1221111010+1
  • ASCII (American Standard Code for Information Interchange) uses 7 bits per character.
  • 7 bits give 2⁷ = 128 codes (0 to 127): English letters, digits, punctuation, space and control codes such as Enter.
  • More bits per character means more possible characters.
Data representation · characters

Codes run in order

ASCII codes run in orderDigitsCharacterDenaryBinary (7-bit)'0'480110000'1'490110001'2'500110010+1CapitalsCharacterDenaryBinary (7-bit)A651000001B661000010C671000011………Z901011010+1Lower caseCharacterDenaryBinary (7-bit)a971100001b981100010c991100011………z1221111010+1
  • Codes are grouped and run in sequence: A = 65, B = 66, C = 67 … Z = 90.
  • Lower case runs on from a = 97; the digits from '0' = 48.
  • Know one code and you can work out its neighbours: 'C' = 65 + 2 = 67.
  • The character '7' has code 55. It is not the number 7.
Calculate
?In ASCII, 'A' has the code 65. What is the code for 'H'?
Your answer
?In ASCII, 'a' is 0110 0001. What is the binary code for 'd'?
Your answer
?In ASCII, 'A' is 65. Which word do the codes 66 69 68 spell? Type it in capitals.
Data representation · characters

Unicode

ASCII vs UnicodeNumber of charactersASCII128Unicodeabout 160,000 (159,801 in Unicode 17.0)axis brokenSome Unicode charactersبArabic字ChineseΩGreek😀emojiUnicode 0–127 = ASCII
  • ASCII's 128 codes cannot cover other alphabets. Unicode aims to code every writing system, plus symbols and emoji: about 160,000 characters so far.
  • Unicode uses more bits per character than ASCII, so text takes more storage.
  • Its first 128 codes are the same as ASCII: 'A' is 65 in both.
Quick check
?A messaging app must show Arabic, Chinese and emoji. Which character set should it use?
Mission check

?How does a computer store the letter A when it can only store numbers?
Mission 4

Double a photo's width and height: how much bigger is the file?

Make a guess: Double a photo's width and height: how much bigger is the file?

Data representation · images and file sizes

Pictures made of dots

PixelsThe picturezoom16 pixels16pixelspixelresolution 16 x 16
  • A pixel (picture element) is a single point in an image.
  • A bitmap is a grid of pixels. Each pixel's colour is stored as a binary code.
  • Image size is the number of pixels, written width x height, e.g. 800 x 600.
  • More pixels: more detail, but more data to store.
Data representation · images and file sizes

Colour depth

Colour depth10010110011010011 = black0 = whiteColour depthColoursSample1 bit22 bits48 bits25624 bits16,777,216millions of shades
  • Colour depth is the number of bits used to store each pixel's colour.
  • n bits give 2ⁿ colours: 1 bit gives 2, 8 bits 256, 24 bits about 16.7 million.
  • In a 1-bit image, 1 could mean black and 0 white: each row is a bit pattern, and a bit pattern can be drawn back as pixels.
  • Higher colour depth: more colours and better quality, but a bigger file.
Your answer
?This row comes from a 1-bit image where black = 1 and white = 0. Reading left to right, write the bit pattern for the row.
A row of pixels12345678pixelblack = 1white = 0
Data representation · images and file sizes

Working out file size

  • File size in bits = width x height x colour depth. Divide by 8 for bytes.
  • Example: 800 x 600 pixels at 24 bits is 800 x 600 x 24 = 11,520,000 bits = 1,440,000 bytes.
  • No calculator? Write the whole expression, then cancel before multiplying.
Calculate
?An image is 200 x 100 pixels with a colour depth of 8 bits. What is its file size?

bytes

Data representation · images and file sizes

Units of data

Units of databitnibble× 4byte× 2kibibyte (KiB)× 1,024mebibyte (MiB)× 1,024gibibyte (GiB)× 1,024tebibyte (TiB)× 1,024
  • A bit (b) is a single 0 or 1. A byte (B) is 8 bits.
UnitSymbolSize
kilobytekB1,000 bytes
megabyteMB1,000 kB
gigabyteGB1,000 MB
terabyteTB1,000 GB
  • Each step up is x 1,000, so divide by 1,000 to go up one unit.
  • You may see 1,024 used elsewhere, but AQA uses 1,000.
Calculate
?A photo file is 2,048,000 bytes. What is its size in kilobytes?

kB

Calculate
?A camera saves every photo as exactly 4 MB. How many photos fit on an empty 1 GB memory card?

photos

Mission check

?Double a photo's width and height: how much bigger is the file?
Mission 5

How can a list of numbers turn into a song?

Make a guess: How can a list of numbers turn into a song?

Data representation · sound

Sound is analogue

Sampling a sound wave01234567sample: 110timeamplitude
  • Sound is a wave that changes smoothly and continuously: it is analogue.
  • A computer can only store binary, so the sound must be converted to digital form.
  • To do this, the wave's height (amplitude) is measured at regular moments. Each measurement is a sample: the amplitude at a point in time.
  • Each sample is stored as a binary number.
Data representation · sound

Sample rate and bits per sample

Sample rate and bits per sampleLow sample rateHigh sample rateBits per sample: levels2 bits = 4 levels3 bits = 8 levels
  • Sampling rate (or sample rate): samples taken per second, in hertz (Hz). Music is often sampled 44,100 times a second.
  • Sample resolution (or bit depth): bits used to store each sample.
  • Raise either one: the sound is closer to the original, but the file is bigger.
Quick check
?A recording app changes its sample rate from 22,050 Hz to 44,100 Hz. Nothing else changes. What happens?
Doubling the sample rate22,050 Hz44,100 HzSchematic, not to scale: twice as many samples in thesame time.
Data representation · sound

Working out sound file size

  • File size in bits = sampling rate x sample resolution x length in seconds.
  • Divide by 8 to get bytes.
  • Example: 1 second at 44,100 Hz and 16 bits is 44,100 x 16 = 705,600 bits.
  • Without a calculator, write the whole expression first, then cancel before you multiply.
  • These questions assume one channel (mono) unless they say otherwise.
Calculate
?A voice memo is sampled at 8,000 Hz with a sample resolution of 8 bits. It lasts 10 seconds. What is its file size?

bytes

Calculate
?A sound file is 96,000 bytes. It was sampled at 8,000 Hz with 8 bits per sample. How long is the recording?

seconds

Calculate
?A clip is sampled at 32,000 Hz with a sample resolution of 16 bits. It lasts 64 seconds. What is its file size in kilobytes?

kB

Quick check
?To save space, an app stores samples with 8 bits instead of 16. What is the effect?
Bits per sample16 bits: 65,536 levels8 bits: 256 levelsschematic: real steps are smaller
Mission check

?How can a list of numbers turn into a song?
Mission 6

How can a file shrink but still open exactly as before?

Make a guess: How can a file shrink but still open exactly as before?

Data representation · compression

Why compress?

  • Compression makes a file smaller, so it uses fewer bits.
  • Smaller files need less storage space.
  • They take less time to send or download and use less bandwidth.
  • Common cases: streaming video and music, web pages, email attachments, photos on a phone.
  • There are different ways to compress data. Two you need are run length encoding and Huffman coding.
Data representation · compression

Squeezing out repetition

Runs of repeated pixels6 W3 B4 Wrebuilt exactly13 pixels
  • Data often repeats: a row of 6 white pixels, then 3 black, then 4 white.
  • Instead of storing all 13 pixels, store each run as a count and a value: 6 W, 3 B, 4 W.
  • The original can be rebuilt exactly, bit for bit. Compression that loses nothing is lossless.
  • The more repetition there is, the more the file shrinks.
Quick check
?Two images are the same size. One is a logo with large areas of flat colour. The other is TV static, where neighbouring pixels are random colours. Which shrinks more using repetition, and why?
Data representation · compression

Run length encoding

Run length encoding000005 01113 10000006 0112 1countvalue16 bits become 4 pairs
  • Run length encoding (RLE) replaces each run of repeated data with a pair: how many times it repeats, then the value.
  • These are frequency/data pairs.
  • Example: 0000011100000011 becomes 5 0 3 1 6 0 2 1.
  • RLE is lossless. With little repetition it can make the data bigger, as every single value gains a count.
Your answer
?Encode this row of a 1-bit image using RLE pairs (count, then value): 1111000000001100
Mission check

?How can a file shrink but still open exactly as before?
Mission 7

Morse code: why is E a single dot?

Make a guess: Morse code: why is E a single dot?

Data representation · Huffman coding

Codes of different lengths

  • 7-bit ASCII gives every character 7 bits, however often it is used.
  • Huffman coding gives frequent characters short codes and rare characters longer codes.
  • So the whole piece of data needs fewer bits, and nothing is lost: the original can be rebuilt exactly.
  • The codes come from a Huffman tree, built from how often each character appears in the data.
Data representation · Huffman coding

Reading a Huffman tree

Huffman tree0101010114E77A34T22S1N1
  • Characters sit at the ends of the branches. Each branch is labelled 0 or 1: on this tree, left is 0 and right is 1.
  • A character's code is the list of branch labels from the top of the tree down to it.
  • Frequent characters sit near the top, so they get short codes.
  • No code is the start of another, so a string of bits decodes one way only.
Your answer
?Use the Huffman tree. What is the code for T?
Huffman tree0101010114E77A34T22S1N1
Your answer
?Use the same tree to decode this bit string: 1110010110
Data representation · Huffman coding

Building a Huffman tree

Building the treeStage 1S1N1T2A3E7Stage 2T22S1N1A3E7Stage 3A34T22S1N1E7Stage 4: one tree, root 140101010114E77A34T22S1N1
  • List the characters and their frequencies, lowest first.
  • Join the two lowest under a new node holding their total.
  • Put it back in order and repeat until one node is left: the root.
  • Our tree: S 1 + N 1 = 2, then T 2 + 2 = 4, then A 3 + 4 = 7, then E 7 + 7 = 14.
  • Frequent characters join last, so they sit nearest the root.
Data representation · Huffman coding

Counting the bits

Counting the bitsN11114 bitsE01 bitA102 bitsT1103 bitsHuffman: 4 + 1 + 2 + 3 = 10 bitsASCII: 4 x 7 = 28 bitssaved 18 bits
  • Huffman bits: add up frequency x code length for each character.
  • Uncompressed bits in 7-bit ASCII: number of characters x 7.
  • Bits saved = ASCII bits − Huffman bits.
  • Example: NEAT is 1111 0 10 110 = 4 + 1 + 2 + 3 = 10 bits. In 7-bit ASCII it is 4 x 7 = 28 bits, so 18 bits are saved.
Calculate
?The tree was built from a message of 14 characters: E x 7, A x 3, T x 2, S x 1, N x 1. How many bits does the whole message need using the Huffman codes?

bits

Calculate
?The same 14-character message is stored in 7-bit ASCII instead. How many bits does Huffman coding save?

bits

Mission check

?Morse code: why is E a single dot?
Recap

Big ideas

  • Computers store all data and instructions as binary. Binary place values double: 1, 2, 4 … 128, so 8 bits hold 0 to 255.
  • One hex digit = 4 bits (a nibble). Hex digits A–F mean 10–15.
  • Convert hex to denary with ×16: 8C = 8 × 16 + 12 = 140.
  • Hex is a shorthand for humans: shorter, easier to read and fewer copying mistakes.
  • Binary addition: 1 + 1 = 10 and 1 + 1 + 1 = 11, so write the right digit and carry the left.
  • Shift left n places: × 2ⁿ. Shift right n places: ÷ 2ⁿ, rounded down. Bits pushed off the end are lost.
  • A character set is an agreed list of characters with a binary code for each. Codes run in order, so B is one more than A.
  • ASCII uses 7 bits: 128 characters, enough for English.
  • Unicode uses more bits per character to cover far more characters, including other alphabets and emoji; its first 128 codes match ASCII.
  • A bitmap is a grid of pixels; colour depth is the bits per pixel, and n bits give 2ⁿ colours.
  • File size (bits) = width x height x colour depth; divide by 8 for bytes.
  • Each unit up (kB, MB, GB, TB) is x 1,000.
  • A sample is the amplitude of the wave at one point in time, stored in binary.
  • Sampling rate = samples per second (Hz); sample resolution = bits per sample. Both raise quality and file size.
  • File size (bits) = sample rate x bits per sample x seconds.
  • Compression makes files smaller: less storage, faster transfer, less bandwidth.
  • Lossless compression rebuilds the original exactly by storing repetition efficiently.
  • RLE stores each run as a count and a value: 0000011100000011 → 5 0 3 1 6 0 2 1.
  • Huffman coding gives frequent characters short codes and rare ones longer codes; it is lossless.
  • Build the tree by repeatedly joining the two lowest frequencies; read a code by following the 0 and 1 branch labels from the root down.
  • Huffman bits = sum of frequency x code length; ASCII bits = characters x 7; saved = the difference.
🏆

Mini-lesson complete!

⭐⭐⭐

You've worked through Fundamentals of data representation for AQA GCSE Computer Science (8525). 🎉

  1. Mission 1Web colours look like #FF8C00. Why letters and numbers?
  2. Mission 2How can a computer multiply by 8 without doing any multiplying?
  3. Mission 3How does a computer store the letter A if it can only store numbers?
  4. Mission 4Double a photo's width and height: how much bigger is the file?
  5. Mission 5How can a list of numbers turn into a song?
  6. Mission 6How can a file shrink but still open exactly as before?
  7. Mission 7Morse code: why is E a single dot?

Your stars: 0 / 0

Next: test yourself in the Verify stage.

📣 Smashed it? Share your score

Challenge a mate to beat your stars, or show a parent how you got on.

→ Back to GCSE Computer Science · AQA

Specification points and sources for this lesson are listed at the bottom of the page.

Sources (12)

The specification points and sources behind this lesson.

  1. 1 AQA GCSE Computer Science 8525 spec v1.3 (June 2027 onwards), 3.3.1, 3.3.2
  2. 2 AQA GCSE Computer Science 8525 spec v1.3, 3.3.4
  3. 3 AQA GCSE Computer Science 8525 spec v1.3, 3.3.5
  4. 4 AQA 8525 spec v1.3, 3.3.3 and 3.3.6
  5. 5 AQA 8525 spec v1.3, 3.3.7
  6. 6 AQA 8525 spec v1.3, 3.3.8
  7. 7 AQA 8525 spec v1.3, 3.3.8 and 3.3.5
  8. 8 W3C, CSS Color Module Level 4, section "The RGB hexadecimal notations" (first pair of digits = red, next = green, last = blue; 00 minimum, ff = 255 maximum), https://www.w3.org/TR/css-color-4/#hex-notation (wording checked in the W3C snapshot https://www.w3.org/TR/2019/WD-css-color-4-20190305/); also MDN, "hex-color", https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color
  9. 9 Unicode Consortium, "Unicode 17.0 Release Announcement", 9 September 2025, https://blog.unicode.org/2025/09/unicode-170-release-announcement.html
  10. 10 Library of Congress, Sustainability of Digital Formats, "Linear Pulse Code Modulated Audio (LPCM)" (fdd000011): "Audio CDs use 44.1 kHz sampling rate with 16-bit samples", https://www.loc.gov/preservation/digital/formats/fdd/fdd000011.shtml
  11. 11 ITU-R Recommendation M.1677-1 (10/2009), "International Morse code", Annex 1, 1.1.1 Letters, https://www.itu.int/rec/R-REC-M.1677-1-200910-I/en
  12. 12 James Gleick, The Information: A History, a Theory, a Flood (Pantheon, 2011), ch. 1