用英语读取十六进制值

时间:2010-10-27 14:48:57

标签: language-agnostic hex

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

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

据我所知,在英语中没有优雅表示十六进制的系统。 Hexadecimal 10是英文“one zero”或“one oh”,十六进制F0ED是“eff oh eee dee”,十六进制30F538B9310是英文“three oh eff five three eight eight bee nine three one oh”。需要更多位的值变得越来越难以翻译。有时将其转换为十进制等值以获得优雅的英文翻译,因此十六进制10变为“十六”。

感谢您的帮助。

6 个答案:

答案 0 :(得分:11)

这是在Knuth中 - 搜索“vybong bysanton”这个短语(自从阅读之后就一直困扰着我)产生this slashdot comment并回复:

  

“计算机艺术”第4.1节   编程,Donald Knuth描述:

     
    

......一位着名的瑞典裔美国土木工程师John W. Nystrom     [谁]决定...... [设计] a     完整的计算系统,     权重和基于的措施     radix-16算术。他写道:“我是     不要害怕,或者不要犹豫,不要     提倡二元算术系统     和计量学。我知道我有天性     我这边;如果我没有成功     给你留下深刻印象它的实用性和伟大     对人类的重要性,它将反映出来     对我们的信任要少得多     一代,对我们的科学家     和哲学家。“Nystrom设计     发音的特殊手段     十六进制数;例如,     [0xC0160]被读为“vybong,     bysanton。“他的整个系统都是     称为音调系统,它是     在J. Franklin Inst。中描述。 46     (1863),263-275,337,348,402-407。

  
     

也许你应该得到那个问题   那个日记并试一试。

(响应:)

  

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

     

来自数学娱乐,H.E。Licks(Van Nostrand,1917):

     
    费城的John W. Nystrom在大约五十年前设计了音调系统和音调系统     其中16是基数而不是十进制中的10。数字1,2,3,     4等被称为An,De,Ti,Go等,并为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;而且我相信这个方法,nith,vyth和   吨月被命名为Mesudius,Nictoary,Vyctorius和Tonborius。

     

这一年从冬至开始,那就是An Anuary。每个月都有tonra天   除了Debrian,Gostus和Lamboary,他们只有一点点,但是Debrian还有一天的时间   闰年。

     吨的权力是:吨,san,mill,bong。这些可以用作前缀来表示   乘法或后缀表示除法。例如,这一天被分成了吨   (十六)蒂姆斯,蒂姆顿蒂姆,以及蒂姆顿的蒂姆顿。

答案 1 :(得分:2)

我和我的同事经常用十进制分组来描述值,所以0x10000是“hex ten 000”或0xF0000是“hex eff-zero千”。虽然这绝不是有效的,但它通常适用于我们。我宁愿以4位数而不是3位进行分组,但缺乏寻找或创建名称的愿望。 ; - )

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

答案 2 :(得分:0)

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

如果它适合自己,那么我认为没有一种简单的方法 - 只是练习。例如。识别A0为160,因此A3必须为163等。

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

答案 3 :(得分:0)

mmm ..)首先将其转换为小数,然后将结果转换为英语?嗯? :D还是我错过了什么? )

答案 4 :(得分:0)

从数学的角度来看,与其发明一种不同的语言(大多数听众都不熟悉),不如说是在十六进制字符串的开头或结尾说“十六进制”。

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

对于更大的数字,我只使用最清晰的数字。因此,根据个人喜好,100hex将为“一百个十六进制”或“一个零零十六进制”。

此答案中的“十六进制”和“ dec”也应写为下标,但我不确定该答案的用法!

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

答案 5 :(得分:-1)

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

我认为我开发的一个系统很有趣,虽然不是很实用,但除了我之外与任何人交流都不太实际。 :)

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

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

网页让你尝试不同的声音系统(参见Resymbolize部分),这样你可以通过选择声音“e”和“t”取代我的默认声音选择,使8听起来像英文单词“eight”。你和“s”。