• Welcome to the new Internet Infidels Discussion Board, formerly Talk Freethought.

Split Number systems (Split from: 60 years of silence - so far)

To notify a split thread.

Loren Pechtel

Super Moderator
Staff member
Joined
Sep 16, 2000
Messages
43,775
Location
Nevada
Gender
Yes
Basic Beliefs
Atheist
Sure, but then it would see nothing whatsoever of significance* in the number sequence 31415, and would not even recognise 9 as a digit at all.
they would understand that when something pulsed 10 times for them it would be the same as our 9. How they write down the number doesn’t matter. They can still count.

We can count in multiple languages and though we have different words for “ten” we agree on how many objects we are counting.

Maybe I’m not explaining it well.
Those of us who learned programming long ago are very used to working with base 16. (While a recently-trained programmer still needs to understand it it's not a routine thing like it was for us.) It's not a problem other than forgetting what base you're dealing with--all the same concepts work. Before my time some programmers even memorized base 16 addition and multiplication tables just like you did base 10 ones in grade school.
 
Loren, by base 16 do you mean hexadecimal?

It is still common. Especially if you do bit level operations.
 
Loren, by base 16 do you mean hexadecimal?

It is still common. Especially if you do bit level operations.
Hexadecimal is how you normally express base 16 numbers. It's common in bit level stuff, but you don't need many bit level operations anymore.
 
We probably use base ten because we have ten fingers and started counting with our fingers. Got to doubt that aliens are going to have ten fingers or even tententacles.
Yup. It fits.

Let's restrict ourselves to words for positive integers, since other kinds of numbers are formed from them, and since zero is the nothing number.
Many low-tech people only have words for low numbers:
  • 1, many
  • 1, 2, many
  • 1, 2, 3, many
  • 1, 2, 3, 4, many
This is from not having much that they want to count.

Going further means having to have a lot of individual words or else constructing numbers from other ones, and when constructing them, one uses some number base or sequence of number bases.

The simplest one is unary, base 1. Repeating 1:
1, 1+1, 1+1+1, 1+1+1+1, ...

That quickly becomes impractical, so everybody uses higher bases to continue. However, it is used in Giuseppe Peano's axiomatic formulation of the nonnegative integers.

The next one is binary, base 2. I don't know of any natural language that has binary number words, but there are some in Australia, New Guinea, and South America that have a sort of unary-binary system:
1, 2, 2+1, 2+2, 2+2+1, 2+2+2, ...

Next, quaternary, base 4. Speakers of languages with this base in New Guinea and nearby islands often use "dog" for "4" because a dog has four legs.

Next, quinary, base 5. That's obviously derived from the fingers of one hand.

Next, senary, base 6. That may be derived from the fingers and palm of one hand.

Next, octal, base 8. That may be derived from the spaces between the fingers of both hands.

Next, decimal, base 10. That's obviously derived from the fingers of both hands. That's *very* widespread. It is sometimes implemented with a biquinary mixed-base system: 2, 5 -- (0,1) then (0,1,2,3,4).

Next, duodecimal, base 12. The fingers and palms of both hands? That is common in West Africa.

Next, vigesimal, base 20. The fingers of both hands and the toes of both feet? It is sometimes implemented with a quadquinary mixed-base system: 4, 5 -- (0,1,2,3) then (0,1,2,3,4).

Next, quadrovigesimal, base 24. One language has mixed-base system 4, 6 -- (0,1,2,3) then (0,1,2,3,4,5)

Next, duotrigesimal, base 32. Very rare.

Next, sexagesimal, base 60. Sumerian had mixed-base system 6, 10 -- that's the ultimate origin of base-60 time units.

Next, octogesimal, base 80. One language has mixed-base system 4, 2, 2, 5

The larger bases are often implemented in mixed-base form.
 
For those unfamiliar hexadecimal is used to represent binary numbers.

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 a
11 b
12 c
13 d
14 e
15 f

binary 11111111 = 0x ff = 255 00001111 = 0x0f = 15

0x commonly signifies a hexadecimal number
 
The most limited number vocabulary is found among low-tech people in warm climates -- they don't have much that they have to count. But the development of agriculture led to the use of a larger range of numbers, and agriculture-less people in cold climates also used a larger number range. What they have in common is, I think, having to store food. One needs to keep track of how many gourds or figs or pigs or whatever that one has, and in the far north, how many blocks of pemmican one has.

Base 10 is *very* common: Indo-European, Uralic (Finnic, Ugric, Samoyedic, etc.), Turkic, Mongolian, Tungusic, Korean, Japanese, Kartvelian, Dravidian, Basque, North Caucasian, Sino-Tibetan, Athabaskan, Haida, Algonquian, Wakashan, Salishan, Iroquoian, Muskogean, Yuman (2*5), some Uto-Aztecan, Chibchan, Quechuan, Aymaran, Vietnamese, Miao-Yao, Kra-Dai, Austronesian, Semitic, Berber, Chadic, Cushitic, Omotic, (most of Nilo-Saharan), (most of Niger-Congo)

Base 20: Eskimo-Aleut (4*5, 2*10), Burushaski (2*10), Tlingit (2*2*5), Totonacan (2*10), some Uto-Aztecan (2*10, 4*5), Oto-Manguean (10 then 2*5), Mixe-Zoquean (10 then 2*5), Mayan (2*10)

I'm not sure how independent some of these systems are, because people can borrow names of relatively high numbers. There are also areal influences in some cases, like in Central America, being inspired to use base 20 because one's neighbors were also doing that.
 
hexadecimal is used to represent binary numbers
It's difficult to imagine a way in which you could possibly be more wrong in so few words.

Hexadecimal is used to represent hexadecimal numbers. Decimal is used to represent decimal numbers. Binary is used to represent binary numbers.

That numbers are interchangeable between bases is trivially true, of any pair of number bases.

What I think you're trying to say is that hexadecimal is often used in computer science, to provide a human readable notation for numbers that would be unwieldy to render in the binary format that computers use, and that, as bases from the set 2n are easy for most humans to rapidly convert to and from Binary, base 10 is less convenient than base 8 or 16. Base 32 requires more unique symbols than most humans are comfortable with, and bases 4 and 8 are still, like base 2, unwieldy for the representation of large numbers routinely used in computer science.

Hexadecimal is used to conveniently represent large numbers, in a way that is fairly easily converted to and from binary.

That's what I think you might have been trying to say; But I am unable to resist pointing out that it's absolutely not at all what you actually did say, and what you did say was, if intended as a simplification of that, oversimplified to the point of being completely incorrect.
 
Last edited:
We are doomed if a civilization went Pi crazy and their numeric system is base on individual values equaling 3.14... A numeric system with integers that are not only irrational... but don't have the letter b in them. :eek:
 
hexadecimal is used to represent binary numbers
It's difficult to imagine a way in which you could possibly be more wrong in so few words.

Hexadecimal is used to represent hexadecimal numbers. Decimal is used to represent decimal numbers. Binary is used to represent binary numbers.

That numbers are interchangeable between bases is trivially true, of any pair of number bases.

What I think you're trying to say is that hexadecimal is often used in computer science, to provide a human readable notation for numbers that would be unwieldy to render in the binary format that computers use, and that, as bases from the set 2n are easy for most humans to rapidly convert to and from Binary, base 10 is less convenient than base 8 or 16. Base 32 requires more unique symbols than most humans are comfortable with, and bases 4 and 8 are still, like base 2, unwieldy for the representation of large numbers routinely used in computer science.

Hexadecimal is used to conveniently represent large numbers, in a way that is fairly easily converted to and from binary.

That's what I think you might have been trying to say; But I am unable to resist pointing out that it's absolutely not at all what you actually did say, and what you did say was, if intended as a simplification of that, oversimplified to the point of being completely incorrect.

Right. The different bases use different numbers of symbols to represent numbers but languages can be even more complex in terms of names for numbers even within the decimal base. The syntax and semantics of number naming systems is not actually trivial. Semantically, the expression "three hundred" involves multiplying a hundred times three, but "twenty three" involves adding three to twenty. And then you get things like Latin "undeviginti" to represent subtraction of one from twenty to represent the number nineteen. French "quatre-vingts" is literally "four times twenty", which is their word for 80. And that is just staying within a decimal system. What Steve is doing is talking about the act of counting (i.e. Arabic/Indian numerals), which one can do with any numbering system. However, decoding the symbolic representation of numbers can be challenging. Luckily, the numerical symbolic representation of decimal numbers is universal across languages, but the words used to represent decimal numbers can be very complex, partly because of the historical legacy of different base counting systems used to give names to numbers.

 
Last edited:
Why do we have 5 fingers per hand? Having multiple fingers is a consequence of their origin from fish fin rays. Why that and not some other number is likely a historical accident.

The legs of the first tetrapods were not much different from the finds of lobe-finned fish. In fact, it can be hard to draw the line between "fish" and "tetrapod". Of early tetrapods that lived some 360 million years ago in the Devonian, Ichthyostega front limbs had 8 digits, while Acanthostega hind limbs had 7 digits. A little later,  Pederpes had five digits per limb, and it was better adapted to living on land. - The origins, scaling and loss of tetrapod digits | Philosophical Transactions of the Royal Society B: Biological Sciences

These five digits per limb have been preserved in greater or lesser degree, with some of them being reduced or lost in some species.

-

Grasping organs evolved many times in our planet's biota, and what makes them grasping organs is the ability to press on something from opposite sides. One needs such organs to build technology and to be able to communicate and travel over interstellar distances.

Mouths with jaws are an obvious type, but they are rather limited. What is most useful is grasping organs on limbs, like our hands. These have evolved several times.

Making digits capable of grasping is something that has evolved at at least three times, in some early prosimian, some early-Cenozoic bird, and some Cretaceous bird whose descendants did not survive the K-Pg mass extinction.

Alternately, the whole limb can be flexible enough to grasp, like octopus tentacles and New World monkey tails.

In arthropods, grasping limbs have evolved at least twice, in scorpions and in many decapod crustaceans, by making the second-outermost limb segment grow a projection that fits against the outermost one, thus making a pincer. Counting on one's pincers suggests a base-4 number system.
 
Mutation and selection.

There are birds who feed on only one plant. Those with longer bills get more nectar, are healthier, and have a greater chance of passing on the genes. A population with longer beaks disces the shorter bills.

I'd say the same applies to hands and fingers.

5 fingers should be traceable back to our early ancestors generically. An evolutionary process.
 
Don’t forget elephant trunks. They are pretty good at grasping, and of course elephants are also quite intelligent.

What base woud elephants count in? They have no digits, but a perfectly serviceable grasping organ.
 
For those unfamiliar hexadecimal is used to represent binary numbers.

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 a
11 b
12 c
13 d
14 e
15 f

binary 11111111 = 0x ff = 255 00001111 = 0x0f = 15

0x commonly signifies a hexadecimal number
In practice we only use binary numbers as either single digits (true/false) or bit flags. In the latter form it's generally easier to encode in hex--00100101 vs 00101001 type of typos are hard to spot so we use the less error-prone approach of encoding this as 0x45 vs 0x49.
 
What I think you're trying to say is that hexadecimal is often used in computer science, to provide a human readable notation for numbers that would be unwieldy to render in the binary format that computers use, and that, as bases from the set 2n are easy for most humans to rapidly convert to and from Binary, base 10 is less convenient than base 8 or 16. Base 32 requires more unique symbols than most humans are comfortable with, and bases 4 and 8 are still, like base 2, unwieldy for the representation of large numbers routinely used in computer science.

Hexadecimal is used to conveniently represent large numbers, in a way that is fairly easily converted to and from binary.

That's what I think you might have been trying to say; But I am unable to resist pointing out that it's absolutely not at all what you actually did say, and what you did say was, if intended as a simplification of that, oversimplified to the point of being completely incorrect.
Base 32 encoding would not be a problem from a character set standpoint. Most any programmer would quickly understand 0123456789abcdefghijklmnopqrstuv. The problem is one of packing--the world pretty much standardized on 8-bit words long ago and base 16 packs evenly into an 8-bit word, base 32 does not. Same reason we pack binary into base 16 instead of base 10. Amazingly, I find there were computers being produced with other word sizes up through 2015--now they're being emulated. Must be some very old software that companies don't want to rewrite.
 
Most any programmer would quickly understand 0123456789abcdefghijklmnopqrstuv
Sure. But any base above base 18 runs into the problem of discrimination between 1 and I; And any base above 25 hits the same problem with 0 and O.

U and V, and 5 and S are also potential issues. You could skip these potential confusions by using wxy and z, but not only would that then require a convention about whether there are skipped letters, and which ones, it would also potentially introduce a new conflict between 2 and Z.
 
AS we are diverging to a more interesting discussions of numbers.

The 8 bit ASCII character table, deicmal, octal, hex, binary
Opcodes for the old 6502 processor in hex

Hex is a common notation depending on what you are doing. After a while thinking in hex becomes natural. As with working in any base.

In computers signed integers are stored as 2s complement and signed subtraction is done in 2s complement arithmetic. It turns subtraction into an addition. Easier to do in processor hardware.

You can look up 2s complement subtraction.

At the bit level decrementing a signed integer. The msb or left most bit is the sign bit bt 31. 2s c0mplment -1 is in hex 0xffffffff. +1 is 0x00000001 in hex.
Software input/output functions convert between decimal ascii text and 2s complement.

Signed integers range from 0x7fffffff max positive t0 0x10000000 max negative.

If you have a C compiler

int z = 15;
for(int i = 0; i < 31;i++){
printf("0x%x %2d\n",z,z);
z--;
}

Which outputs

0x0000000f 15
0x0000000e 14
0x0000000d 13
0x0000000c 12
0x0000000b 11
0x0000000a 10
0x00000009 9
0x00000008 8
0x00000007 7
0x00000006 6
0x00000005 5
0x00000004 4
0x00000003 3
0x00000002 2
0x00000001 1
0x00000000 0
0xffffffff -1
0xfffffffe -2
0xfffffffd -3
0xfffffffc -4
0xfffffffb -5
0xfffffffa -6
0xfffffff9 -7
0xfffffff8 -8
0xfffffff7 -9
0xfffffff6 -10
0xfffffff5 -11
0xfffffff4 -12
0xfffffff3 -13
0xfffffff2 -14
0xfffffff1 -15
 
Hex is a common notation depending on what you are doing. After a while thinking in hex becomes natural.
Definitely. I used to be able to do it pretty well, but the need for it has so declined that it now takes conscious thought to do hex math.
 
Hex is a common notation depending on what you are doing. After a while thinking in hex becomes natural.
Definitely. I used to be able to do it pretty well, but the need for it has so declined that it now takes conscious thought to do hex math.
Aint it the truth Loren. I had to review a bit myself.
 
Luckily, the numerical symbolic representation of decimal numbers is universal across languages, but the words used to represent decimal numbers can be very complex, partly because of the historical legacy of different base counting systems used to give names to numbers.
Universal??? I have actually used 3 different encodings.

In addition to the 0123456789 there was something used in Iran that was the standard system--when I was there 50 years ago prices were expressed in it. Presumably everything else but we only learned to read the numbers. My memory is it is Arabic-looking but I doubt I would even recognize it by now. I believe this might be the digits but since I don't recall them I can't swear to it: ۰۱۲۳۴۵۶۷۸۹

China also has an old system--you can function perfectly well without it but it does show up. There's a set of Mahjong tiles around here that use it--no way to play the game if you can't read them. (There are other tiles with Chinese characters but they only form sets, not runs, and thus you can simply compare them without knowing what they say.) I've seen it occasionally in China--think of how we often have Roman numerals in copyright dates etc. By now I've forgotten some of the digits and I never knew the zero as it doesn't appear in the game. Some work with google turns up: 〇一二三四五六七八九十

And I'm ignoring Roman numerals because they aren't really digit encoding. Digging up the Chinese characters also reveals an ancient Greek system that isn't rendering on my system so I don't want to try to paste it in.
 
Most any programmer would quickly understand 0123456789abcdefghijklmnopqrstuv
Sure. But any base above base 18 runs into the problem of discrimination between 1 and I; And any base above 25 hits the same problem with 0 and O.

U and V, and 5 and S are also potential issues. You could skip these potential confusions by using wxy and z, but not only would that then require a convention about whether there are skipped letters, and which ones, it would also potentially introduce a new conflict between 2 and Z.
Yeah, if you don't have a font that distinguishes them well those can be problematic. I really wish they would not use those digits in Captchas!
 
Back
Top Bottom