What is 8÷2(2+2)?

Google’s recommendation algorithm has been trying to get me interested in this clickbait for a while. Most recently via Fox News, but via some other meme aggregator before that. And I remember when “8÷2(2+2)” was spelled “6÷2(1+2)” (2016), and before that “48÷2(9+3)” (2011), and before that… well, there’s nothing new under the sun. This evening my uncle forwarded it to the math majors in the family, so I figured I might as well put my response in a blog post and link to it.

The answer to a mathematician would be “1” — because \(2(2+2)\) is \(2\cdot 4\) is 8, and then \(8\div 8\) is 1.

However, there are two differences going on here between “blackboard math” and “computer-program math.”
One is that computer programs like Excel don’t use the \(\div\) symbol for division; they use forward-slash.
Two is that most computer programs (definitely including Google Sheets; I can’t speak for Excel itself)
don’t treat expressions like `2x`

or `2(x+1)`

as multiplication.
You’d have to insert a multiplication operator, i.e., `2*x`

or `2*(x+1)`

.

So when you ask “what is \(8\div 2(2+2)\)”, you’re implicitly asking “what would a *human* make
of this sequence of symbols,” to which the answer is “eight divided by eight, i.e., one.”

Where it gets its “confusion factor” from is that there are a lot of people out there who
I guess can’t do math in their heads, so they try to cobble together a way to get the computer
to compute \(8\div 2(2+2)\) for them… and then they have to deal with the two quirks above.
They’ll likely deal with it by changing \(\div\) to `/`

, and inserting `*`

between
the \(2\) and the \((2+2)\). But when you *change* the sequence of symbols, you *change* the sequence’s
meaning!

If you ask a computer programmer to evaluate `8/2*(2+2)`

, they’ll
say it’s `(8/2)*(2+2)`

is `4*4`

is 16, because that’s how the associativity and precedence
of the `/`

and `*`

operators works. (In most languages, anyway. See below!)
If you ask a mathematician to evaluate \(8/2\ast(2+2)\), they’ll probably ask what operation
is represented by \(x\ast y\) — and when you say “multiplication,” they might concur that
the answer is 16, but they’ll encourage you to rewrite the expression in some clearer form,
such as \(\frac{8}{2}\cdot(2+2)\), if that’s really what you meant to express.

Communicating badly and then acting smug when you’re misunderstood is not cleverness.

By the way…

In the programming language APL,
concatenation means literal *concatenation*; so
`8÷2(2+2)`

is `8÷(2 4)`

is `4 2`

— that’s a vector of two elements. Meanwhile, in APL,
`*`

means exponentiation, not multiplication, and `/`

means replication, not division;
so `8/2*(2+2)`

is `(2 2 2 2 2 2 2 2)*4`

is `16 16 16 16 16 16 16 16`

.
You’re welcome.

Wolfram Alpha — another computer program designed by mathematicians — takes the middle route.
As of this writing, it interprets `8÷2(2+2)`

as
\(\frac{8}{2}(2+2)\) (that is, 16); but it explicitly shows you that it’s rewriting the expression
as \(\frac{8}{2}(2+2)\) in order to make sense of it, and (because it’s interactive) gives you a
chance to rewrite the expression if that’s not what you intended. Exactly the way a mathematician might!