Skip to content. | Skip to navigation

Personal tools
Log in
Sections
You are here: Home

Sexagesimal numeral system. The new/old way of thinking about numbers.

Sexagesimal is a numeral system with sixty as its base. It was used by Sumerians and ancient Babylonians. The page describes a proposal for a notation of sexagesimal numbers in modern era.

Proposal for a "new" notation of sexagesimal numbers:

 

The English/Latin alphabet is the best choice to use, in this way it is easier to learn and to adopt the system.

 

Extending the system used in hexadecimal numeral system (and sexatrigesimal with a little change) to the sexagesimal numeral system:

Digit in sexagesimal A B C D E F G H I J
Meaning in base 10 10 11 12 13 14 15 16 17 18 19
Digit in sexagesimal K L M N O P Q R S T
Meaning in base 10 20 21 22 23 24 25 26 27 28 29
Digit in sexagesimal U V W X Y a b c d e
Meaning in base 10 30 31 32 33 34 35 36 37 38 39
Digit in sexagesimal f g h i j k l m n o
Meaning in base 10 40 41 42 43 44 45 46 47 48 49
Digit in sexagesimal p q r s t u v w x y
Meaning in base 10 50 51 52 53 54 55 56 57 58 59

The remaining 'Z' and 'z' can be used for other purposes.

'0z' can be the code for a sexagesimal number as is '0x' for hexadecimal: 0z1b == 96; 0z28 == 128; 0z4G == 256;

Certainly the digits of the decimal system remain the same:

0z0 == 0; 0z1 == 1; 0z2 == 2; 0z3 == 3; 0z4 == 4; 0z5 == 5; 0z6 == 6; 0z7 == 7; 0z8 == 8; 0z9 ==9

 

Hexadecimal numeral system is well known among programmers and computer scientists.

A == a == 10; B == b == 11; C == c == 12; D == d == 13; E == e == 14; F == f == 15;      This notation was not generally accepted in the early computers era (See http://en.wikipedia.org/wiki/Hexadecimal)

The notation of digits above 9 with letters of the English alphabet: A, B, C, D, E, F was very inspired, though the idea is not new. Also ancient cultures used the letters of the alphabet for expressing digits (Abjad numerals - Arabic alphabet; Hebrew numerals, Greek numerals, Armenian numerals). See also the notation for sexatrigesimal (base 36) http://en.wikipedia.org/wiki/Base_36

In this way we can use the same floating point separator as usual: "." (or "," in some languages)

Big difference to the hexa system: In the sexagesimal notation capital or small letter matters (A != a; B != b; C != c; D != d; E != e; F != f)

Why capital letters first? Because the same order is in ASCII, ANSI, Unicode standards.

 

A similar notation is used with IBAN bank account validation: A == 10, B == 11, ...

(see "Validating the IBAN" section from http://en.wikipedia.org/wiki/International_Bank_Account_Number)

 

Why not to use Z == 35?

 

In this way we get some repeating "rules" and is easier to learn.(See further)

 

"Rules" helping the learning curve

 

1. There are exactly 50 characters (digits) to learn expressing the numbers from 10 to 59.

2. These letters are grouped in two main groups: exactly 25 capital letters first and 25 small letters further. In this way we have a repeating rule. (See further)

3. We can group the 25 letters into 5 groups in this way we can learn at first 5 letters: A == 10; F == 15; K == 20; P == 25; U == 30;

The remaining letters we can compare to these hooks:

B == A + 1; C == A + 2;        or      E == F - 1; D == F - 2;

G == F + 1; H == F + 2;        or       J == K - 1; I == K - 2;

L == K + 1; M == K + 2;        or       O == P - 1; N == P - 2;

Q == P + 1; R == P + 2;        or       T == U - 1; S == U - 2;

V == U + 1; W == U + 2; X == U + 3; Y == U + 4;       (The group of capital letters end with Y == 34;)

4. The next hook: 25 + 10 == 35. The next 25 letters will be the same only as small letters.

We can group the 25 letters into 5 groups in this way we can get the same 5 letters only as small letters: a == 35; f == 40; k == 45; p == 50; u == 55;

And the same rules with small letters:

b == a + 1; c == a + 2;        or      e == f - 1; d == f - 2;

g == f + 1; h == f + 2;        or       j == k - 1; m == k - 2;

l == k + 1; m == k + 2;        or       o == p - 1; n == p - 2;

q == p + 1; r == p + 2;        or       t == u - 1; s == u - 2;

v == u + 1; w == u + 2; x == u + 3; y == u + 4;       (The group of small letters end with y == 59;)

 

We can write the same table in this way:

Digit in sexagesimal A B C D E F G H I J K L M N O P Q R S T U V W X Y
Meaning in base 10 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
Digit in sexagesimal a b c d e f g h i j k l m n o p q r s t u v w x y
Meaning in base 10 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

 

Advantages:

1. Compression of information (Only notation, visual expression, the storage remains in bytes. Nothing in this article speaks about storage). In the sexagesimal system we can express the same number (large integers, float numbers) in a more compact way.

Examples:

The greatest possible IPv6 number:

2128 - 1 == 0zFUhbQQ6RAha14Tuie2bW4G == ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff (22 digits instead of 32)

The magic number from the legend of chess:  264 - 1 == 18446744073709551615 == 0zUUR953pfV0F (11 digits instead of 20)

1000000000000 == "LQ0Tclf" == 0zLQ0Tclf (21:26:0:29:37:46:40) (7 digits instead of 13)

This advantage could be very useful when people work with large databases. Table ID-s (identification numbers), primary keys, foreign keys could be expressed in sexagesimal. In such situation people don't have to compute the decimal number, it's important only to identify a row or an object in the database.

"6Hfbh4"  or  4894692124  -   Which one is easier to remember? Which one is easier to process by a human brain?

The system could be used in constructing ID numbers(strings).

2. Real numbers (float numbers) can be expressed with greater precision with fewer digits.

Example: the square root of 2: sqrt(2) == 1.41421356...

The Babylonians calculated as: 0z1.OqA == 1.41421296... differs only by about 0.0000006 from the true value (see http://en.wikipedia.org/wiki/Numerical_analysis)

3. The base 60 is divisible by the prime numbers: 2, 3, 5 and has a lot more divisors than 10 (Composite divisors: 4, 6, 12, 15, 20, 30, 60). Results that a lot more fractions can be expressed by finite fractions.

Example: 1/3 == 0.3333...         in sexagesimal: 1/3 == 0z0.K           2/3 == 0.66666...  == 0z0.f;

1/6 == 0.16666... == 0z0.A

1/9 == 0.1111111... == 0z0.6f

Certainly there remains infinite fractions as well, but their appearance density is smaller.

4. Date and time can be expressed in compact way:

Example: Date: 2012 == 0zXW;      February 12, 2012 == XW-2-C (YY-M-D in sexagesimal, 2 digits for years, 1 digit for month, 1 digit for day)

(If programmers had been using such a system for date expression, they would never face the Y2K problem)

Time:  23:51:34 == N:q:Y (H:M:S in sexagesimal, 1 digit for hours, 1 digit for minutes, 1 digit for seconds)

5. Angles, longitudes, latitudes can be expressed in compact way (when the context is clear and the code "0z" is missing):

Example: 360° == 0z60°; 270° == 0z4U°; 180° == 0z30°; 135° == 0z2F°; 90° == 0z1U°; 60° == 0z10°; 45° == 0zk°; 30° == 0zU°

44°25'53'' == 0zj°P's"; 26°7'41" == 0zQ°7'g"; 44°25' == 0zj°P'; 26°7' == 0zQ°7'; 47°30' == 0zm°U'; 19°5' == 0zJ°5';

(Certainly the system is difficult in the first run, but it has its advantages and people can learn new idioms and complex systems, see the ancient Sumerians and Babylonians)

 

Problems with this notation:

1. The code "0x" and "0o" can appear in a sexagesimal number. This can cause a wrong interpretation.

Example:      0z10x1b == 13078871 could be interpreted as   0z1 and as hexa 0x1b == 27

0z10o24 == 13140124 could be interpreted   0z1 and as octal 0o24 == 20

This misinterpretation cannot happen when the context is clear, for example in a database table column.

2. Sometimes the letter "l" (small L) and "I" (capital i) is very similar to the digit "1" and the letter "O" is very similar to the digit "0".

These are old issues and should be solved by clear fonts.

 

Other notation schemes for the sexagesimal system:

 

There are also other proposals for the modern notation of sexagesimal numbers:

1. Separating digits by the ":" (colon) and using ";" (semicolon) as the floating point. Example:  25:39:1:0:44  or  2:56;4:34

2. Separating digits by the "," (comma) and closing in square brackets. Example:  [25,39,1,0,44]  or  [9,46,6,39]

3. Separating digits by the "," (comma) and using ";" (semicolon) as the floating point. Example:  25,39,1,0,44  or  2,56;4,34

4. S3 The Smith Sexagesimal System ( very difficult to learn and to adopt)

 

The old Babylonian notation (see http://en.wikipedia.org/wiki/Sexagesimal, http://www.gap-system.org/~history/HistTopics/Babylonian_numerals.html)