← CS Unplugged

CS Unplugged activity

Binary Battleship

About 25 minutesPairPencil

Battleship, but every row and column is labeled in binary, the way a computer counts. To call a shot you read a binary number, and your partner reads one to answer. One game and you’ll have done dozens of conversions.

How to read a label

Binary works like decimal, except each place is worth double the place to its right instead of ten times. In a 3-digit binary label, the places are worth 4, 2, and 1:

Place value421
Digit101

Add up the place value under every 1 digit: 4 + 1 = 5. So the label 101 means row (or column) 5. A label of 000 means 0, and the biggest label, 111, means 4 + 2 + 1 = 7. Three digits, each either 0 or 1, give exactly eight different labels, so this grid has eight rows and eight columns, numbered 0 through 7.

Each of you already has a fleet drawn on your own “My ships” grid below, so there’s no setup: just start calling shots.

Player A

Keep this page hidden from Player B.

Player B

Keep this page hidden from Player A.

Want a bigger battle? Try the 16 by 16 version, or make a fresh set of fleets any time you want new ships to hunt.

Check your answers

After the game.

  1. The biggest label is 111, which is 4 + 2 + 1 = 7.
  2. Three digits, each 0 or 1, give 2 x 2 x 2 = 8 different labels, so 8 rows: 0 through 7. A fourth digit would double that to 16.
  3. 110 = 4 + 2 + 0 = 6. 011 = 0 + 2 + 1 = 3.

CC BY-NC-SA 4.0.