Hacker News new | ask | show | jobs
by slver 1817 days ago
Most of us are programmers here, you are just as used to hex.

Also technically we don't have that many fingers. We have one more finger. We don't have a number digit for ten right? They go zero to nine. But out fingers go zero to ten.

If our numeric base matched our fingers, we should've used base eleven. Not many people think this through :)

I think the real breakthrough is having "order of magnitude" in numbers. So indeed the Roman Numerals suck and probably wouldn't last regardless.

2 comments

> you are just as used to hex.

I do 6502 ASM with bit tricks and all and i can tell you straight up that hex is never as intuitive as decimal IMO.

Base eleven sounds like the stuff of nightmares =)

Where the hex is "intuitive" is showing what's "even" to the CPU.

For example we think of 10, 100, 50 as nice round convenient quantities.

CPUs see 16, 256, 2048 as convenient quantities--in hex that's visible: 0x10, 0x100, 0x800.

Right. It lets you see the bits more easily: 0-F is a good representation of 4 bits.

Say i were to name a random hex value like #$9C right now it would take me a few seconds to convert that to decimal in my head though... 156 took me a few seconds to sort out. I don't have to think about what 156 means in decimal because i just know what it is.

I'm not quite there, but close to being bilingual (binumeral?) between decimal and hex, and I think it's all about developing better intuition for each digit and their relationships.

For instance, you say 0x9C... that's just over half (0x80) of 0x100, close to 2/3rds (0xAA). Given in embedded we're often using a byte to represent a quantity, that gives enough feel.

I should practice multiplying hex by hand, I reckon that would assist in getting there.

The radix I've used since birth is easier than the one I haven't. Wild stuff.
Yes i do simplify my posts and try to write them in ways that normal people can understand. Your snide comment is a sign of success =)
Do you though? Why is 156 anymore familiar than 9C? I can't imagine 156 things any more than I can 9C things.
Replying to sibling since we've maxxed out comment depth...

> It was $62 degrees Fahrenheit yesterday. I can't just go displaying that in a program. Nor is it meaningful to me without a decimal conversion.

It's just as meaningless to me even if you do the conversion to base10 for display... I don't do deg F intuitively and would have to convert to Celsius in my head. It's all about what we are familiar with.

[0] https://news.ycombinator.com/item?id=27706014

Right but the world runs on base 10 is all i'm trying to say. It's needlessly difficult to use anything else (aside from hex or binary in very specific situations). In some college sophomore philosophy class you could argue for base 27 but it doesn't make your system usable or intelligible.
Do you know 212 = 100 = boiling, 32 = 0 = freezing, -40 = -40, and 98.6 = 37 = body temperature?

I have no trouble remembering those, and that the ratio of degree sizes is 5/9ths, so I can figure a formula out whenever I need to.

> Replying to sibling since we've maxxed out comment depth...

No, you hadn't. I’m pretty sure there is no such thing.

Yes. It was $62 degrees Fahrenheit yesterday. I can't just go displaying that in a program. Nor is it meaningful to me without a decimal conversion.
It's interesting that octal used to be popular and isn't any more. I'm not familiar with how that culture shift happened, but I remember learning C in the 80s and thinking it was odd that it supported octal when I'd never seen it anywhere else.
If you learned hex in primary school and there was a primary numeral system for them, you'd find them just as intuitive. Same for base-six etc.
Isn't it more intuitive for OP codes though?
0 to 9 are exactly 10 digits.
I think their point is that we use our 10 fingers to count to a value of 10. We can use our 10 fingers to represent 0 (no fingers) through 10 (all 10 fingers). This is essentially base 11 if you try to assign a specific digit to each finger.

While I agree with that viewpoint I think it's missing the point. As humans with 10 fingers it's easy for us to group things into increments of 10, so base 10 comes naturally. Think about how you count a quantity over 10: once you run out of fingers you mark down (or remember) that you've already counted one quantity of 10, now you're counting the next quantity of 10, etc...

It's more like a shifted base 10 where we represent digits 1-10 instead of 0-9.

Everyone is thinking about a "shifted" base 10, yes.

But every base starts with 0, there's no such thing as "shifted base" because then you literally can't represent 0.

Also "zero fingers" is still a thing that exists in this shifted base 10. So it remains base 11.

This is like the classic "0-based indexing" vs. "1-based indexing" dilemma. The "first" thing is represented by 1, we think.

But the "first" year of our life, we're zero years old. The "first" hour after midnight is 0 o'clock. Building your "first" million as a business is the period before you have 1 million. And so on.

A base 10 with symbols only for 1 through 10, where zero is represented with an empty set is a Bijective Base 10 numeration. The columns in excel are bijective base 26.

https://en.wikipedia.org/wiki/Bijective_numeration

The number of sets we can represent with fingers is 11, including the empty set.

As for bijective base 10, it's interesting, but it's still not the base 10 we're using, so we can't quite blame this on our fingers.