Чтение шестнадцатеричных значений на английском языке - PullRequest
8 голосов
/ 27 октября 2010

Я много лет читал шестнадцатеричные числа на основе цифр и теперь мне надоело переводить шестнадцатеричные значения для чисел, требующих более 16 бит, на английский язык. Существует ли более элегантная форма перевода шестнадцатеричного числа в английский?

На английском языке существует простая система для преобразования десятичных значений в английский. Десятичное число 10 - английское «десять», десятичное число 57 - английское «пятьдесят семь», десятичное число 32767 - «тридцать две тысячи семьсот шестьдесят семь» и т. Д.

Насколько я знаю, не существует системы для элегантного представления шестнадцатеричного в английском языке. Шестнадцатеричный 10 - это английский «один ноль» или «один о», шестнадцатеричный F0ED - «eff oh eee dee», шестнадцатеричный 30F538B9310 - английский «три оф пять три восемь пчел девять три один о» Значения, требующие большего количества битов, становятся все более болезненными для перевода. Иногда конвертируем его в десятичный эквивалент, чтобы получить элегантный перевод на английский, поэтому шестнадцатеричное 10 становится «шестнадцатью».

Спасибо за любую помощь.

Ответы [ 6 ]

11 голосов
/ 27 октября 2010

Это в Кнуте - гуглить фразу «vybong bysanton» (которая застряла в моей памяти с тех пор, как я ее прочитал), получается этот комментарий слешдота и ответ:

ВВ разделе 4.1 «Искусства компьютерного программирования» Дональд Кнут описывает:

... выдающегося шведско-американского инженера-строителя по имени Джон В. Нистром, [который] решил ... [разработать] полныйсистема счисления, весов и мер, основанная на арифметике radix-16.Он писал: «Я не боюсь или не стесняюсь защищать двоичную систему арифметики и метрологии. Я знаю, что на моей стороне природа; если мне не удастся убедить вас в ее полезности и важности для человечества,это будет отражать гораздо меньшую кредитность нашего поколения, наших ученых и философов ".Нистром разработал специальные средства для произнесения шестнадцатеричных чисел;например, [0xC0160] должен был читаться как «vybong, bysanton».Вся его система называлась Тональной системой, и она описана в J. Franklin Inst.46 (1863), 263-275, 337,348, 402-407.

Возможно, вам стоит взять этот выпуск этого журнала и попробовать.

(ответ:)

цитата из http://www.monmouth.com/~colonel/tonal.html [monmouth.com]

От отдыха по математике, Е. П. Ликс (Ван Ностранд, 1917):

Джон В. Нистром из Филадельфии около пятидесяти лет назад изобрел тональную систему «нумерации», в которой 16 - это основание, а не 10, как в десятичной системе. Цифры 1, 2, 3, 4 и т. Д.называемые «Ан», «Де», «Ти», «Го» и т. д., и для 10, 11, 12, 13, 14, 15 были изобретены новые персонажи. Эта система включала также новое деление года на 16 месяцев с именами AnuaryДебриан, Тимандр, Гостус, Сувенир, Билиан, Ратамбер, Мезидий, Никотур, Колумбиец, Хусандр, Викториус, Ламбоари, Полиан, Филандер, Тонбориус, первые две буквы каждого месяца являются названиями шестнадцати цифр.

Это немного неточно. Цифра 9 использовалась для 10, напринцип, согласно которому цифры для 8 или более выглядят так же, как цифры их 16-ти дополнений, написанные вверх ногами;и новая цифра была разработана для 9. Имя 12 было Vy, а не Vi;и я верю, что мет, нит, вит и месяцы были названы Месудием, Никторием, Викторием и Тонборием.

Год начался во время зимнего солнцестояния, которое было Муравьем Ануария.Каждый месяц имел тонны дней, за исключением Дебриана, Гостуса и Ламбоари, у которых было только тонна, но у Дебриана был дополнительный день в високосные годы.

Сила тонны была: тонна, сан, мельница, бонг.Они могут использоваться в качестве префиксов для обозначения умножения или в качестве суффиксов для обозначения деления.Например, день был разделен на тонну (шестнадцать) тимов, тим на тонну тимтонов и тимтон на тонну тимсанов.

2 голосов
/ 27 октября 2010

Мои коллеги и я часто используем десятичные группировки для описания значений, поэтому 0x10000 - это "hex десять тысяч" или 0xF0000 как "hex eff-zero тысяча".Хотя это ни в коем случае не эффективно, это обычно работает для нас.Я бы предпочел группировать по 4 цифры вместо 3, но у меня нет желания искать или создавать имя.; -)

Я никогда не находил никаких соглашений об именах, кроме считывания каждой цифры.

0 голосов
/ 13 апреля 2019

Вместо того, чтобы придумывать другой язык (с которым большинство слушателей не знакомы) с математической точки зрения, я предпочитаю просто говорить «hex» в начале или в конце шестнадцатеричной строки.

Для чисел менее 100 гекс (то есть, 256dec) я обычно говорю десятичное соглашение для чисел, если шестнадцатеричное число состоит только из цифр 0-9.Таким образом, "сорок шесть-hex" будет 70dec.Когда шестнадцатеричное число содержит хотя бы одну цифру AF, я обычно просто читаю эти шестнадцатеричные цифры и десятичные цифры.Таким образом, "сорок-шестнадцатеричный" будет 76dec.

Для больших чисел я просто использую то, что когда-либо было самым ясным.Таким образом, 100hex будет либо «сто гекс», либо «один ноль ноль ноль гекс» в зависимости от личных предпочтений.

Также "hex" и "dec" в этом ответе должны быть записаны как подписки, что я не знаю, как сделать в этом ответе!

Короткий ответ - произнести шестнадцатеричные цифры в том, что является наиболее понятным для слушателя.Добавление "hex" устраняет любую неопределенность в общении.Надеюсь, это поможет.

0 голосов
/ 03 ноября 2013

«Существует ли более элегантная форма перевода шестнадцатеричного числа в английский?»

Система, которую я разработал для развлечения, я думаю, гораздо более элегантна, хотя и не очень практична для общения с кем-либо, кроме меня.:)

http://www.castedo.com/binspeak/

Разговорная структура смоделирована после того, как мы говорим на базовых 10 числах по-английски, однако я сделал это независимым от языка, чтобы он не использовал существующие английские слова,так что на самом деле это не на английском языке.

Веб-страница позволяет вам попробовать различные звуковые системы (см. раздел Resymbolize), так что вы можете сделать 8 примерно похожим на английское слово «восьмерка», выбрав звуки «e» и"t", чтобы заменить мой выбор звуков по умолчанию "u" и "s".

0 голосов
/ 27 октября 2010

ммм ..) сначала преобразовать его в десятичные дроби, а затем преобразовать результат в английский? ммм? : D или я что-то пропустил? )

0 голосов
/ 27 октября 2010

Вы ищете что-нибудь для себя, когда читаете такие числа, или алгоритм для компьютера?

Если это что-то для вас, то я не думаю, что есть легкий путь - просто попрактикуйтесь. Например. распознавание A0 равно 160, поэтому A3 должно быть 163 и т. д.

Если вы ищете алгоритм для компьютера, то сначала преобразуйте в десятичное число, а затем преобразуйте в текст. поэтому A3 -> 163 -> «сто» + «шестьдесят» + «три».

...