Skip to content
DevMeme
5497 of 7435
A Mathematical Pun on Number Systems: Every Base is Base 10
CS Fundamentals Post #6024, on May 25, 2024 in TG

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

49
Anonymous ★ Top Pick 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
  1. Anonymous ★ Top Pick

    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

  2. Anonymous

    Still, it’s clearer than that analytics service that silently flips between milliseconds and microfortnights in its dashboard

  3. Anonymous

    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

  4. Anonymous

    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

  5. Anonymous

    If your team believes '10' is universally ten, check the parser - somewhere '010' just asked Kubernetes for eight replicas

  6. Anonymous

    In binary, those 10 rocks are 1010 - a perfectly round dozen for the bit-flipping elite

  7. Anonymous

    Pro tip: if you think every base is base 10, you haven’t debugged parseInt('08') in pre-ES5 JavaScript at 3am

  8. @LeakyRectifiedLinearUnit 2y

    based

  9. @deerspangle 2y

    Oh no, it's base 60 time

    1. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

      Say that using base 60

  10. @theodolu 2y

    What if they read from right to left?

  11. @viktorrozenko 2y

    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

    1. @purplesyringa 2y

      It's not base 1, really. Unary, yes, but not base 1

    2. @endisn16h 2y

      base 14 is because it would be 'base d'

    3. dev_meme 2y

      Some people forget that base 1 is actually used in real life and there’s some easy to recall examples 👀

  12. @viktorrozenko 2y

    What would be the difference, out of curiosity?

    1. @purplesyringa 2y

      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)

      1. @viktorrozenko 2y

        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 😂

      2. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

        Tell that to a civilization who didn’t discover 0 yet and have evolved to not assing “nothing” with “amount”

  13. @glatavento 2y

    Base-1 is different from binary, decimal or hexadecimal numbers. It's a bijective numeration system.

    1. @qtsmolcat 2y

      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"

      1. @glatavento 2y

        Thanks!

  14. @eternal_neophyte 2y

    The rest of 6 are in spaceman's kidneys and this creature has xray vision

  15. @Factorial 2y

    Dont understand, explain pls

    1. @affirvega 2y

      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

      1. @Factorial 2y

        Got it 😁

        1. @affirvega 2y

          oh wow, that was my best attempt glad i helped

      2. @dsmagikswsa 2y

        Also one detail. that robot only have 4 fingers

        1. @affirvega 2y

          Haha that's nice

      3. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

        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)

        1. @affirvega 2y

          probably when we noticed that different bases had different number of symbols

  16. @callofvoid0 2y

    huh?

    1. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

      Roman numbers

      1. @callofvoid0 2y

        X

        1. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

          Thats 10

          1. @callofvoid0 2y

            4 rocks 10 rocks what are these together and roman number?

            1. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

              Wdym XIV?

              1. @callofvoid0 2y

                look at the meme I don't get why the creature says those 4 rocks are 10 rocks

                1. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

                  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.

                  1. @callofvoid0 2y

                    I understand bases I just don't understand why the creature insists on being right about base 10

                    1. @affirvega 2y

                      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

                      1. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

                        I think he points out that the joke is stupid

                        1. @affirvega 2y

                          it's tecnical, and maybe stupid

                          1. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

                            Well how did he understand what he meant if he doesn’t know about other bases

                        2. @callofvoid0 2y

                          it doesn't make sense

                    2. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

                      Tbf it’s stupid I think the joke is he didn’t discover bases but then how can he understand the question

                    3. @mmikita 2y

                      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

                      1. @callofvoid0 2y

                        wow thank you

  17. @ZgGPuo8dZef58K6hxxGVj3Z2 2y

    Iirc they did not have a concept of 0 as a number

Use J and K for navigation