读取英语的十六进制值

发布于 2024-09-29 13:36:47 字数 359 浏览 3 评论 0原文

多年来,我一直在逐位读取十六进制,现在厌倦了将需要超过 16 位的数字的十六进制值翻译成英语。是否存在将十六进制翻译为英语的更优雅的形式?

在英语中,存在一个用于将十进制值转换为英语的简单系统。十进制 10 是英文“十”,十进制 57 是英文“五十七”,十进制 32767 是“三万二千七百六十七”等等。

据我所知,目前还没有系统可以优雅地表示十六进制英语。十六进制10是英文“一零”或“一哦”,十六进制F0ED是“eff oh eee dee”,十六进制30F538B9310是英文“三哦eff五三八蜜蜂九三一哦”。需要更多位的值的转换变得越来越困难。有时将其转换为十进制等值以获得优雅的英文翻译,因此十六进制的 10 变为“十六”。

感谢您的任何帮助。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

那片花海 2024-10-06 13:36:47

这是在 Knuth 中 - 谷歌搜索短语“vybong bysanton”(自从读到它以来,它就一直在我的脑海里)会产生 此斜杠评论 和响应:

在《计算机艺术》第 4.1 节中
编程,Donald Knuth 描述道:

<块引用>

...著名的瑞典裔美国土木工程师约翰·W·尼斯特罗姆 (John W. Nystrom)
[谁]决定...[设计]一个
完整的计数系统,
重量和测量依据
基数 16 算术。他写道:“我是
不害怕,或者毫不犹豫,
提倡二进制算术系统
和计量学。我知道我有本性
我的身边;如果我没有成功
它的实用性和伟大性给你留下了深刻的印象
对人类的重要性,将体现
我们的信用就少得多
一代人,依靠我们的科学家
和哲学家。”尼斯特罗姆设计
特殊的发音方式
十六进制数;例如,
[0xC0160] 读作“vybong,
拜桑顿。”他的整个系统是
称为音调系统,它是
J.富兰克林研究所描述。 46
(1863)、263-275、337,348、402-407。

也许你应该明白这个问题
那本日记并尝试一下。

(回复:)

引自http://www.monmouth.com/~colonel/tonal.html< /a> [monmouth.com]

来自 HE Licks 的《数学娱乐》(Van Nostrand,1917 年):

<块引用>

费城的约翰·W·尼斯特罗姆 (John W. Nystrom) 大约在五十年前设计了“音调系统”
以 16 为底数的计数法,而不是十进制中的 10。数字1、2、3、
4等被称为安、德、体、围等,并为10、11、12、13、14设计了新字,
15. 该系统还采用了将一年分为 16 个月的新划分方法,这些月份的名称为
Anuary、Debrian、Timander、Gostus、Suvenary、Bylian、Ratamber、Mesidius、Nictorary、Kolumbian、
Husander、Victorius、Lamboary、Polian、Fylander、Tonborious、每月的前两个字母
是十六个数字的名称。

这有点不准确。数字 9 用来代替 10,其原理是数字
8 或更大的数字看起来就像倒写的 16 补码;和一个新的数字
是为9设计的。12的名字是Vy,而不是Vi;我相信 meth、nith、vyth 和
第一个月被命名为Mesudius、Nictoary、Vyctorius 和Tonborius。

一年从冬至开始,即农历正月初一。每个月都有托拉日
除了 Debrian、Gostus 和 Lamboary 之外,这些地方只有 tonby,但 Debrian 在
闰年。

ton 的力量是:ton、san、mill、bong。这些可以用作前缀来指示
乘法或作为表示除法的后缀。例如,一天被分为吨
(十六) tims,一个 tim 变成 ton timtons,一个 timton 变成 ton timsans。

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" 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.

放赐 2024-10-06 13:36:47

我和我的同事经常使用十进制分组来描述值,因此 0x10000 是“十六进制万”或 0xF0000 是“十六进制有效零千”。虽然这绝不是有效的,但它通常对我们有用。我更愿意以 4 位数字而不是 3 位数字进行分组,但缺乏寻找或创建名称的愿望。 ;-)

除了读出每个数字之外,我从未找到任何命名约定。

My coworkers and I frequently use the decimal groupings to describe values, so 0x10000 is "hex ten thousand" or 0xF0000 as "hex eff-zero thousand". While this is by no means efficient, it usually works for us. I would prefer to group at 4 digits instead 3, but lack the desire to look for or create a name. ;-)

I've never found any naming convention aside from reading off each digit.

洋洋洒洒 2024-10-06 13:36:47

您是否在寻找阅读这些数字时自己做的事情,或者寻找计算机的算法?

如果是为了你自己,那么我认为没有一个简单的方法——只是练习。例如。识别A0是160,所以A3一定是163,等等。

如果你正在寻找计算机的算法,那么先转换为十进制,然后再转换为文本。所以A3->第163话“一百”+“六十”+“三”。

Are you looking for something for you to do yourself when reading such numbers, or for an algorithm for a computer?

If it is something for yourself, then I don't think there is an easy way - just practice. Eg. recognizing A0 is 160, so A3 must be 163, etc.

If you are looking for an algorithm for a computer, then convert to decimal first, and then convert to text. so A3 -> 163 -> "one hundred" + "and sixty" + "three".

晌融 2024-10-06 13:36:47

mmm..)先将其转换为小数,然后将结果转换为英文?嗯? :D 或者我错过了什么? )

mmm.. ) convert it to decimals first, then convert result to english? mmm? :D or I missed something? )

各自安好 2024-10-06 13:36:47

我不想从数学角度发明不同的术语(大多数听众不会熟悉),而是更喜欢在十六进制字符串的开头或结尾简单地说“hex”。

对于小于 100hex(即 256dec)的数字,如果十六进制数字仅由数字 0-9 组成,我通常会说数字的十进制约定。因此“46-hex”将是 70dec。当十六进制数字至少包含一位 AF 时,我通常只读取这些十六进制数字和十进制数字。因此“40-cee-hex”将是 76dec。

对于更大的数字,我只使用最清晰的。因此,100hex 可以是“一百十六进制”或“一零零十六进制”,具体取决于个人喜好。

另外,这个答案中的“hex”和“dec”应该写成下标,我不知道在这个答案中该怎么做!

简短的答案是说出听者最清楚的十六进制数字。附加“十六进制”可以消除通信中的任何歧义。希望这有帮助。

Rather than invent different lingo (which most listeners will not be familiar with) from a mathematical perspective, I prefer simply saying "hex" at the beginning or at the end of the hexadecimal string.

For numbers less than 100hex (i.e., 256dec), I typically say the decimal convention for the numbers if the hex number is only composed of digits 0-9. Thus "forty-six-hex" would be 70dec. When the hex number comprises at least one digit of A-F, I normally just read those hex digits and the decimal digits. Thus "forty-cee-hex" would be 76dec.

For larger numbers, I just use what ever is clearest. Thus 100hex would be either "one hundred hex" or "one zero zero hex" depending on personal preference.

Also "hex" and "dec" in this answer should be written as subscripts, which I'm not sure how to do in this answer!

The short answer is to say the hex digits in whatever is clearest to the listener. Appending "hex" removes any ambiguity in the communication. Hope this helps.

慕烟庭风 2024-10-06 13:36:47

“是否存在将十六进制翻译为英语的更优雅的形式?”

我认为我为了好玩而开发的系统要优雅得多,尽管对于与除了我之外的任何人进行交流来说不太实用。 :)

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

口语结构是按照方式建模的我们用英语讲以 10 为基数的数字,但是我让它与语言无关,因此它不会重复使用现有的英语单词,因此它并不是真正的英语。

该网页可让您尝试不同的声音系统(请参阅“重新符号化”部分),因此您可以通过选择声音“e”和“t”来替换我默认选择的声音“u”和“8”,从而使 8 听起来大致像英语单词“eight” “s”。

"Does a more elegant form of translating hexadecimal to English exist?"

A system I developed for fun I think is much more elegant, albeit not very practical for communicating with anybody except perhaps me. :)

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

The spoken structure is modelled after the way we speak base 10 numbers in English, however I made it language agnostic so it does not re-use existing English words, so it is not really in English.

The webpage lets you try out different sound systems (see the Resymbolize section) so you can make 8 roughly sound like the English word "eight" by choosing sounds "e" and "t" to replace my default choice of sounds "u" and "s".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文