Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reading hexadecimal values in English

I've been reading hexadecimal on a digit by digit basis for many years and am now fed up with translating hex values for numbers requiring more than 16 bits into English. Does a more elegant form of translating hexadecimal to English exist?

In English, a simple system exists for converting decimal values to English. Decimal 10 is English "ten", decimal 57 is english "fifty-seven", decimal 32767 is "thirty-two thousand seven hundred sixty-seven", etc.

As far as I know, there exists no system for elegantly representing hexadecimal in English. Hexadecimal 10 is English "one zero" or "one oh", hexadecimal F0ED is "eff oh eee dee", hexadecimal 30F538B9310 is English "three oh eff five three eight bee nine three one oh". Values requiring more bits become increasingly painful to translate. Sometimes converting it to the decimal equivalent to get an elegant English translation, so hexadecimal 10 becomes "sixteen".

Thanks for any help.

like image 238
ytrp Avatar asked Oct 27 '10 14:10

ytrp


People also ask

How do you read hexadecimal values?

The first nine numbers (0 to 9) are the same ones commonly used in the decimal system. The next six two-digit numbers (10 to 15) are represented by the letters A through F. This is how the hex system uses the numbers from 0 to 9 and the capital letters A to F to represent the equivalent decimal number.

How do you translate hexadecimal?

The conversion of hexadecimal to decimal is done by using the base number 16. The hexadecimal digit is expanded to multiply each digit with the power of 16. The power starts at 0 from the right moving forward towards the right with the increase in power. For the conversion to complete, the multiplied numbers are added.

How do you pronounce hexadecimal numbers?

Use "bitey" for 16^2. So, 0xABCD is "atta bee bitey citta dee". If you need to go higher, group into 4 digits, and use "millby", "billby", etc at the end of each group, same as the decimal system with thousand/million/billion/etc. So, 0x1234_5678 is "twelve bitey thirty four millby, fifty six bitey seventy eight".


1 Answers

This is in Knuth - googling the phrase "vybong bysanton" (which has stuck in my mind ever since reading it) produces this slashdot comment and response:

In section 4.1 of The Art of Computer Programming, Donald Knuth describes:

...a prominent Swedish-American civil engineer named John W. Nystrom [who] decided to... [devise] a complete system of numeration, weights, and measures based on radix-16 arithmetic. He wrote, "I am not afraid, or do not hesitate, to advocate a binary system of arithmetic and metrology. I know I have nature on my side; if I do not succeed to impress upon you its utility and great importance to mankind, it will reflect that much less credit on our generation, upon our scientific men and philosophers." Nystrom devised special means for pronouncing hexadecimal numbers; for example, [0xC0160] was to be read "vybong, bysanton." His entire system was called the Tonal System, and it is described in J. Franklin Inst. 46 (1863), 263-275, 337,348, 402-407.

Maybe you should get that issue of that journal and give it a try.

(response:)

quoted from http://www.monmouth.com/~colonel/tonal.html [monmouth.com]

From Recreations in Mathematics, by H. E. Licks (Van Nostrand, 1917):

John W. Nystrom of Philadelphia devised about fifty years ago the tonal system&quot of numeration in which 16 is the base instead of 10 as in the decimal system. The numerals 1, 2, 3, 4, etc., were called An, De, Ti, Go, etc., and new characters were devised for 10, 11, 12, 13, 14, 15. This system embraced also a new division of the year into 16 months, these having the names Anuary, Debrian, Timander, Gostus, Suvenary, Bylian, Ratamber, Mesidius, Nictorary, Kolumbian, Husander, Victorius, Lamboary, Polian, Fylander, Tonborious, the first two letters of each month being the names of the sixteen numerals.

This is slightly inaccurate. The figure 9 was used for 10, on the principle of making the digits for 8 or greater look like those of their 16's complements written upside down; and a new figure was devised for 9. The name of 12 was Vy, not Vi; and I believe that the meth, nith, vyth, and tonth months were named Mesudius, Nictoary, Vyctorius, and Tonborius.

The year began at the winter solstice, that being the Anth of Anuary. Every month had tonra days except for Debrian, Gostus, and Lamboary, which had only tonby, but Debrian had an extra day in leap years.

The powers of ton were: ton, san, mill, bong. These could be used as prefixes to indicate multiplication or as suffixes to indicate division. For instance, the day was divided into ton (sixteen) tims, a tim into ton timtons, and a timton into ton timsans.

like image 124
AakashM Avatar answered Oct 03 '22 21:10

AakashM