A Mathematical Pun on Number Systems: Every Base is Base 10
Why is this CS Fundamentals meme funny?
Level 1: Counting Confusion
Imagine you have a special way of counting that’s different from your friend’s way. Let’s say you count in groups of 4, and your friend counts in the normal groups of 10 (like most of us do). Now, if you see four rocks, you might say, “I have ten rocks,” because in your way of counting, “ten” means one full group of four. But your friend would look at the four rocks and get very confused — because to them, “ten” means ten items, not four!
This meme’s joke is just like that: an alien and an astronaut are basically using two different “number languages.” The alien says “10 rocks,” honestly meaning four rocks in the alien’s own counting system. The astronaut hears “10” and thinks it means ten (since that’s what “10” means in our human system). Both of them are using the word “ten,” but it doesn’t line up with the same amount of rocks! It’s a funny mix-up, kind of like if two kids made up different secret codes for numbers and didn’t realize it. Each one thinks the other is counting the same way, but actually one is counting by fours and the other by tens. The result? One small word – “ten” – causes a big confusion. The humor comes from that simple misunderstanding: they’re saying the same word but talking about completely different numbers of rocks. It’s a playful reminder that even something as basic as counting can go wrong if you don’t know each other’s rules!
Level 2: Base Basics
Let’s break this down to the fundamentals of number systems. Humans normally use base 10, also known as the decimal system. This means we have ten unique digits (0, 1, 2, …, 9) and each place in a number represents a power of ten. For example, in our system “10” means one ten and zero ones, which equals 10. The idea of a base (or radix) is basically the number of digits and the grouping size for the place values.
Now, other bases work the same way, just with a different number of digits. Base 4 would use four digits (usually 0, 1, 2, 3) and each place is a power of 4. So in base 4, the numeral “10” means one four and zero ones, which equals 4 in decimal. The meme exploits this fact. The alien says “10 rocks” while there are clearly 4 rocks shown. The astronaut is thinking in our normal terms (assuming the alien’s “10” is like our “10”). But upon seeing only four rocks, the astronaut recalculates: “Hmm, if ‘10’ came from a different base system, maybe it isn’t ten in my system.” He guesses the alien uses base 4, because 10 in base 4 equals 4 in the decimal system.
To make this crystal clear, here’s how “10” is interpreted in a few different bases:
| Numeral “10” | Means in that base | Equals in decimal |
|---|---|---|
| 10 (base 2) | 1 two and 0 ones | 2 (since 2 = 2₁₀) |
| 10 (base 4) | 1 four and 0 ones | 4 (since 4 = 4₁₀) |
| 10 (base 10) | 1 ten and 0 ones | 10 (since 10 = 10₁₀) |
| 10 (base 16) | 1 sixteen and 0 ones | 16 (since 16 = 16₁₀) |
In each case, “10” in that base equals the base number in our familiar decimal. This is why the caption jokes that “Every base is base 10.” It’s saying: no matter what the base is, the notation “10” represents the base’s value. The alien insists, “I use base 10,” because from the alien’s point of view, their normal system is base 10 — they have a digit for one and a digit for zero, and “10” means one whole unit of their counting system. The astronaut, on the other hand, is explicitly talking about different bases by number. It’s a classic inside joke about how we label numeral systems.
Think of it this way: If an alien had only four fingers, they might naturally develop a counting system using four as a base. They wouldn’t call it “base 4” themselves; to them it’s just normal counting. So their version of “10” would mean four (one full hand of 4). When our astronaut (used to base 10 with ten fingers) hears “10,” he assumes it means ten. That’s the rock_counting_paradox unfolding in the cartoon — both are saying “ten” but meaning different quantities. The astronaut’s guess “you must be using base 4” is him realising the alien’s number language might be different. It’s like if you heard someone say “I have (10_{x}) items” and you figure out (x) must be 4 to match the actual count of items you see.
This joke also teaches a broader lesson in computing and math: always know the context of a number’s representation. In programming, we actually encounter this with things like binary, octal, or hexadecimal notation. For instance, 1010 could mean decimal 1010, or if someone meant it as a binary (base-2) it means decimal 10, or as octal (base-8) it wouldn’t even be a valid number if it has 8 or 9 in it. Often we prefix to avoid confusion (like 0b1010 for binary or 0x10 for hex). If you’ve ever seen code where a leading zero caused a number to be interpreted differently (for example, "010" in some languages is parsed as octal 8), you’ve witnessed a similar base confusion. Likewise, 0-indexing vs 1-indexing is a tiny conceptual shift (are we counting starting at zero or one?) that can throw off counting by exactly one unit. These are the kind of little misunderstandings that can cause big problems if not caught. The meme’s scenario is a friendly cartoon version: luckily, the astronaut and alien talked it out immediately (“What is base 4?” asks the perplexed alien), whereas computers might just silently proceed with the wrong assumption.
In summary, the alien-as-astronaut cartoon uses a simple setup — counting rocks — to illustrate how positional numeral systems work and how easily humans (or aliens) can miscommunicate a number if they assume a different base. It’s a ComputerScienceFundamentals joke wrapped in a cute scene. If you’ve learned about binary or hexadecimal in school, you’ll recognize that “10” doesn’t universally mean ten; it means “one group of whatever the base is.” The humor (and the lesson) comes from realizing that something as basic as the number “10” isn’t absolute — it depends on an agreed-upon system. If two parties don’t share that system, saying “10” can lead to a funny head-scratching moment like this one. Always establish your “base” when exchanging numbers, or you might end up as confused as this astronaut!
Level 3: The Radix Ruse
At first glance, this meme is a clever play on positional numeral systems and the confusion that arises from implicit assumptions. The alien says, “There are 10 rocks.” The astronaut, seeing only four actual rocks on the ground, immediately guesses the alien must be using a different number base. Why? Because in base 4, the symbol “10” represents the quantity 4 in decimal. In general, for any base (b), the numeral “10” means (1 \times b^1 + 0 \times b^0 = b). The astronaut assumes 10₄ = 4₁₀, figuring the alien’s “ten” is actually four. This scenario is riffing on the fact that the glyph “10” literally equals the base value in its own numbering system. The punchline caption “Every base is base 10.” nails this concept: no matter what alien or human system you use, “10” in that base is the base itself in decimal. It’s a nerdy twist that exploits how we denote numbers across different bases (also known as different radices).
This is humorous to seasoned developers and mathematicians because it highlights a classic encoding assumption pitfall. The astronaut assumed an alien would naturally count in base 4 (maybe the alien has four fingers or just because 4 rocks were present). But the alien replies, “No. I use base 10. What is base 4?” – indicating the alien isn’t even aware of other bases. The irony is that from the alien’s perspective, their counting system is “base 10” – they presumably have their own set of numerals where “10” means one whole unit of their base. In other words, every culture’s native base feels like “base 10” to them because they think of “10” as the fundamental grouping. This neatly exposes how easily two systems can talk past each other using the same symbols with different interpretations.
For veteran engineers, a light bulb immediately goes off: this number_base_confusion is analogous to real-world software bugs where teams or components make different implicit assumptions about data format. It’s the same flavor of bug as mixing up endianess or indexing conventions. For example, one system might assume an integer is in little-endian byte order while another expects big-endian. If you send the bytes 0x00 0x0A (which is 10 in one convention) to a system assuming the opposite byte order, it will interpret it as 0x0A00 (which is 2560 in decimal!). Suddenly “10” means 2560 — a misinterpretation just as absurd as “ten means four rocks.” Similarly, consider 0-indexed vs 1-indexed arrays: one team says “take element 10” meaning the tenth item, but if the other team’s code is 0-indexed, they’ll actually grab what they call element 9. Off-by-one errors are born from the “Wait, are we counting from zero or one?” mix-up – essentially a minor “base” difference (base-0 counting vs base-1 counting) that causes major confusion. These kinds of off-by-one slip-ups and unit mismatches (remember the Mars Climate Orbiter that crashed because one team used metric units while another used imperial?) are the real-life tragic cousins of this meme’s joke. In multi-team integrations, such assumption mismatches can silently breed bugs for months.
The deeper lesson here is a warning wrapped in humor: always clarify your encoding and conventions. Whether it’s number bases, byte order, character encoding, or index origin, never assume the other side uses the same “base” you do. The astronaut’s situation is funny because he at least asked and caught the discrepancy (“Oh, you must be using base 4…”), whereas in many software projects nobody asks until something blows up. Seasoned devs have been burned by data where everyone thought “10” meant the same thing. This comic exaggerates that scenario to an absurd meeting between an alien and an astronaut counting rocks, but it resonates deeply. It’s essentially a geeky reminder that communication protocols matter – if two sides don’t agree on the format (be it numeric base or any protocol), you get nonsense results.
In fact, this cartoon echoes the classic programming joke:
“There are 10 types of people in the world: those who understand binary and those who don’t.”
In that joke, “10” is binary for 2, so it slyly says “there are two types of people” while most folks misread it as “ten types of people.” Here, the astronaut assumed a similar binary-esque trick but with base 4. Both the joke and the meme rely on the reader knowing that “10” can mean something other than ten. ComputerScienceHumor often plays on these inside knowledge quirks – if you get it, you feel like you’re in on a geeky secret. And if you’ve ever spent hours debugging only to find out it was a number-base or encoding mix-up, this meme might make you chuckle (or cringe) in recognition. It’s a lighthearted CS_fundamentals test hiding a caution: in any system integration, double-check what “base” the other side is using, because, just like the alien said, they’ll insist they’re using “base 10” too!
Description
A simple cartoon depicts an alien and an astronaut on a barren planet with four rocks on the ground. The alien says, "There are 10 rocks." The astronaut replies, "Oh, you must be using base 4. See, I use base 10." The alien, looking confused, responds, "No. I use base 10. What is base 4?". Below the characters, a caption reads, "Every base is base 10." This comic strip is a classic mathematical and computer science joke. The humor lies in the double meaning of "10". The alien counts four rocks, which is represented as "10" in a base-4 number system. The punchline, "Every base is base 10," highlights the meta-joke that the representation of any base's value *in that same base* is always written as "10". It's a clever play on numeral systems that experienced developers who've worked with different bases (like binary, octal, or hexadecimal) would find amusing
Comments
49Comment deleted
The alien isn't wrong; it's just that their definition of '10' is four integers ahead of schedule. It's a classic case of undocumented APIs between species
Still, it’s clearer than that analytics service that silently flips between milliseconds and microfortnights in its dashboard
This is like explaining to a PM why we can't just "make the API 10x faster" - technically correct statements that completely miss the underlying context of what's actually being measured
This perfectly captures why code reviews sometimes devolve into philosophical debates: 'Your variable naming is inconsistent!' 'No, it's perfectly consistent in my mental model.' When everyone's reference frame is self-consistent but mutually incompatible, you get the software equivalent of this comic - except instead of number bases, it's tabs vs spaces, or whether 'manager' should be a suffix or prefix in class names
If your team believes '10' is universally ten, check the parser - somewhere '010' just asked Kubernetes for eight replicas
In binary, those 10 rocks are 1010 - a perfectly round dozen for the bit-flipping elite
Pro tip: if you think every base is base 10, you haven’t debugged parseInt('08') in pre-ES5 JavaScript at 3am
based Comment deleted
Oh no, it's base 60 time Comment deleted
Say that using base 60 Comment deleted
What if they read from right to left? Comment deleted
Base 1 is the most superior base there is. Change my mind. You just can't do it. It's simply not possible. What are you gonna do? Count with your digits and shit. That's sad, really... 10 is just 1111111111 They've been playing us for absolute fools all this time Comment deleted
It's not base 1, really. Unary, yes, but not base 1 Comment deleted
base 14 is because it would be 'base d' Comment deleted
Some people forget that base 1 is actually used in real life and there’s some easy to recall examples 👀 Comment deleted
What would be the difference, out of curiosity? Comment deleted
Base 10 has digits from 0 to 9, base 2 has digits from 0 to 1. Generally speaking, base n includes digits from 0 to n-1. Base 1 would only have a zero (not a one) Comment deleted
I knew someone would bring that up. However, it seems to me that that’s just the mathematical dogma. Realistically speaking, digits are made up so (especially in base 1) I can choose whatever the hell I want to represent digits. It can be 10 = ☕️☕️☕️☕️☕️☕️☕️☕️☕️☕️ For all I care 😂 Comment deleted
Tell that to a civilization who didn’t discover 0 yet and have evolved to not assing “nothing” with “amount” Comment deleted
Base-1 is different from binary, decimal or hexadecimal numbers. It's a bijective numeration system. Comment deleted
Psssst those links don't render in most clients.... Instead, highlight the words you want to link, and select either "create link" or the overflow menu and "create link" Comment deleted
Thanks! Comment deleted
The rest of 6 are in spaceman's kidneys and this creature has xray vision Comment deleted
Dont understand, explain pls Comment deleted
in the picture, robot does not understand that "4" means 10 in his base because he uses only 0123, like for example we wouldn't know that "A" means 10 in our base 10 because we only use 0123456789 and if you're using binary, for example. you'd call your base also base 10, because you only use 0 and 1 symbols, you don't call that base 2 same as us, we don't call our base like base "A", because we only use 0123456789 for numbers Comment deleted
Got it 😁 Comment deleted
oh wow, that was my best attempt glad i helped Comment deleted
Also one detail. that robot only have 4 fingers Comment deleted
Haha that's nice Comment deleted
Out of curiosity idk if this is documented anywhere but when did we “discover” that there are different bases? Was it perhaps before we even agreed on base 10? (Ik not the whole world did) Comment deleted
probably when we noticed that different bases had different number of symbols Comment deleted
huh? Comment deleted
Roman numbers Comment deleted
X Comment deleted
Thats 10 Comment deleted
4 rocks 10 rocks what are these together and roman number? Comment deleted
Wdym XIV? Comment deleted
look at the meme I don't get why the creature says those 4 rocks are 10 rocks Comment deleted
Ohh you didn’t get that part? Sorry if I misunderstood you. Base 2 (binary 0,1) 0b10 = 2; //Base 2 Base 8 (0-7) 0o10 = 8; //Base 8 Base 10 (0-9) 10 = 10; Base 16 (0-9, A-F) 0x10 = 16; //Base 16 Because the largest symbol’s value is always one less than the “Base X” name it always carries one to the next significant digit. So if you use the base itself to describe the base it will in all bases result “10” in its own representation. Comment deleted
I understand bases I just don't understand why the creature insists on being right about base 10 Comment deleted
like we have 10 numbers, right? 0 1 2 3 4 5 6 7 8 9 the robot thinks he has 4 numbers, but for him it's written like 10 - 0 1 2 3 Comment deleted
I think he points out that the joke is stupid Comment deleted
it's tecnical, and maybe stupid Comment deleted
Well how did he understand what he meant if he doesn’t know about other bases Comment deleted
it doesn't make sense Comment deleted
Tbf it’s stupid I think the joke is he didn’t discover bases but then how can he understand the question Comment deleted
if you mean “why 10 = 4”, it’s because it is in base 4: 0, 1, 2, 3, (10 = 4), 11, 12, 13, 20, 21… if you mean “why he thinks he’s in base 10 too”, it’s because 10 is the first “overflow” in any base, so 10 will actually equal the base number in any given base (hence the joke) for example binary: 0, 1, (10 = 2), 11, 100, 101… ternary: 0, 1, 2, (10 = 3), 11, 12, 20, 21, 22, 30… quaternary seen before, and so on upd: and the second part of the joke is that the digit that would be used to indicate “lesser” base by a “higher” base is missing in the base itself base 2 doesn’t have 2 base 4 doesn’t have 4 base 10 doesn’t have “A” from the perspective of base 16 Comment deleted
wow thank you Comment deleted
Iirc they did not have a concept of 0 as a number Comment deleted