← GCSE Computer Science · OCR · GCSE Computer Science revision
⭐ 0
OCR GCSE Computer Science (J277) · 1.2.4–1.2.5 Data storage and compression
Mini-Lesson

Data storage and compression

6 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?
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

Overflow

Overflow128643216842111111110000+00100000100010000= 16272lostThe 9th bit does not fit in the 8-bit register: overflow.
  • A register has a fixed number of bits: 8 bits hold at most 255.
  • A result that needs more bits than are available causes an overflow error.
  • 1111 0000 + 0010 0000 = 1 0001 0000 (272). The 9th bit is lost, leaving 0001 0000 = 16.
Calculate
?A program adds 1100 1000 and 0110 0100 in an 8-bit register. The 9th bit is lost. What denary value is left in the register?
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.
  • Exam questions write ASCII codes in 8 bits: 'A' = 0100 0001.
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.
  • Resolution 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.
  • Real files also hold metadata (e.g. width, height, colour depth), so they are a little bigger.
  • Text file size = bits per character x number of characters.
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.
  • A nibble is 4 bits.
UnitSymbolSize
kilobyteKB1,000 bytes
megabyteMB1,000 KB
gigabyteGB1,000 MB
terabyteTB1,000 GB
  • 1 petabyte (PB) = 1,000 TB.
  • Each step up is x 1,000, so divide by 1,000 to go up one unit.
  • OCR also accepts 1,024 instead of 1,000 for conversions and calculations.
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
  • Sample rate: samples taken per second, in hertz (Hz). Music is often sampled 44,100 times a second.
  • Bit depth (or sample resolution): 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 = sample rate x bit depth 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 bit depth 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 bit depth 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.
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

Lossy and lossless

Lossless and lossyOriginaloriginal fileLosslessrebuilt exactlyLossydata removed for good
  • Lossy compression permanently removes data, usually detail people are unlikely to notice.
  • Example: a photo stored with fewer colours or a song with sounds we barely hear removed.
  • Lossy: much smaller files, but lower quality and the original cannot be got back.
  • Lossless: the original is rebuilt exactly, but the file is not as small. Use it for text, program files and data.
Quick check
?Which file must be compressed using lossless compression?
Mission check

?How can a file shrink but still open exactly as before?
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.
  • A result too big for the bits available causes an overflow error.
  • 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.
  • Exam questions show ASCII codes in 8 bits.
  • 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.
  • Sample rate = samples per second (Hz); bit depth = 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.
  • Lossy compression permanently removes data for much smaller files.
🏆

Mini-lesson complete!

⭐⭐⭐

You've worked through Data storage and compression for OCR GCSE Computer Science (J277). 🎉

  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?

Your stars: 0 / 0

Next: more GCSE Computer Science · OCR lessons and games on the GCSE Computer Science · OCR page.

📣 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 · OCR

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

Sources (9)

The specification points and sources behind this lesson.

  1. 1 OCR GCSE J277 spec v3.1, 1.2.3, 1.2.4 Numbers
  2. 2 OCR GCSE J277 spec v3.1, 1.2.4 Numbers
  3. 3 OCR GCSE J277 spec v3.1, 1.2.4 Characters
  4. 4 OCR J277 spec v3.1, 1.2.3 and 1.2.4 (Images)
  5. 5 OCR J277 spec v3.1, 1.2.3 and 1.2.4 (Sound)
  6. 6 OCR J277 spec v3.1, 1.2.5
  7. 7 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
  8. 8 Unicode Consortium, "Unicode 17.0 Release Announcement", 9 September 2025, https://blog.unicode.org/2025/09/unicode-170-release-announcement.html
  9. 9 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