Ich habe hexadezimal seit vielen Jahren Ziffern für Ziffern gelesen und bin nun damit fertig, Hex-Werte für Zahlen zu übersetzen, die mehr als 16 Bit in Englisch benötigen. Gibt es eine elegantere Form der Übersetzung von hexadezimal nach Englisch?
In Englisch existiert ein einfaches System zum Konvertieren von Dezimalwerten in Englisch. Dezimal 10 ist Englisch "zehn", Dezimal 57 ist Englisch "siebenundfünfzig", Dezimal 32767 ist "zweiunddreißigtausendsiebenhundertsiebenundsechzig", etc.
Soweit ich weiß, gibt es kein System, um hexadezimal in Englisch elegant darzustellen. Hexadezimal 10 ist Englisch "eins Null" oder "ein oh", hexadezimal F0ED ist "eff oh eee dee", hexadezimal 30F538B9310 ist Englisch "drei oh eff fünf drei acht biene neun drei eins oh". Werte, die mehr Bits erfordern, werden beim Übersetzen zunehmend schmerzhaft. Manchmal wird es in das Dezimaläquivalent umgewandelt, um eine elegante englische Übersetzung zu erhalten, so dass hexadezimal 10 zu "sechzehn" wird.
Danke für jede Hilfe.
Das ist in Knuth - googelt man den Ausdruck "vybong bysanton" (der mir seit dem Lesen in Erinnerung geblieben ist) produziert dieser Schrägstrichkommentar und Antwort:
In Abschnitt 4.1 der Kunst des Computers Programmieren beschreibt Donald Knuth:
... ein prominenter schwedisch-amerikanischer Bauingenieur namens John W. Nystrom [wer] entschied sich ... [auszudenken] a komplettes System der Nummerierung, Gewichte und Maßnahmen basierend auf Radix-16-Arithmetik. Er schrieb: "Ich bin keine Angst, oder zögere nicht, zu befürworten ein binäres arithmetisches System und Metrologie. Ich weiß, dass ich Natur habe meine Seite; wenn es mir nicht gelingt beeindrucke dich mit seinem Nutzen und großartig Bedeutung für die Menschheit, wird es reflektieren das viel weniger Kredit auf unserer Generation, auf unsere wissenschaftlichen Männer und Philosophen. "Nystrom ersann spezielle Mittel zum Aussprechen hexadezimale Zahlen; beispielsweise, [0xC0160] sollte lauten "vybong, Bysanton. "Sein ganzes System war das tonale System genannt, und es ist beschrieben in J. Franklin Inst. 46 (1863), 263-275, 337,348, 402-407.
Vielleicht sollten Sie diese Frage von bekommen dieses Journal und es versuchen.
(Antwort:)
zitiert von Ссылка [monmouth.com]
Aus Recreations in Mathematics, von H. E. Licks (Van Nostrand, 1917):
John W. Nystrom von Philadelphia entwickelte vor etwa fünfzig Jahren das tonale System von Nummerierung, in der 16 die Basis statt 10 wie im Dezimalsystem ist. Die Ziffern 1, 2, 3, 4 usw. wurden An, De, Ti, Go usw. genannt, und neue Zeichen wurden für 10, 11, 12, 13, 14, 15. Dieses System umfasste auch eine neue Einteilung des Jahres in 16 Monate, diese hatten die Namen Januar, Debrian, Timander, Gostus, Suvenary, Bylian, Ratamber, Mesidius, Notorary, Kolumbianisch, Husander, Victorius, Lamboary, Polian, Fylander, Tonborious, die ersten beiden Briefe jedes Monats sind die Namen der sechzehn Ziffern.Dies ist etwas ungenau. Die Zahl 9 wurde für 10 verwendet, nach dem Prinzip der Ziffern für 8 oder größer aussehen wie diejenigen ihrer 16er Kompliment auf den Kopf geschrieben; und eine neue Figur wurde für 9 entwickelt. Der Name von 12 war Vy, nicht Vi; und ich glaube, dass das Meth, Nith, Vyth und Tonnen Monate wurden Mesudius, Nicoary, Vyctorius und Tonborius genannt.
Das Jahr begann mit der Wintersonnenwende, dem Anth von der Mündung. Jeder Monat hatte tonra Tage außer Debrian, Gostus und Lamboary, die nur Tonby hatten, aber Debrian hatte einen zusätzlichen Tag in Schaltjahre.
Die Mächte der Tonne waren: Tonne, San, Mühle, Bong. Diese könnten als Präfixe verwendet werden, um anzuzeigen Multiplikation oder als Suffixe, um die Teilung anzuzeigen. Zum Beispiel wurde der Tag in Tonnen unterteilt (sechzehn) tims, ein tim in ton timtons und ein timton in ton timsans.
Meine Mitarbeiter und ich verwenden häufig die Dezimalgruppierungen, um Werte zu beschreiben, also ist 0x10000 "hex zehntausend" oder 0xF0000 als "hex eff-zero tausend". Obwohl dies keineswegs effizient ist, funktioniert es normalerweise für uns. Ich würde es vorziehen, mit 4 statt 3 Ziffern zu gruppieren, aber es fehlt mir der Wunsch, nach einem Namen zu suchen oder ihn zu erstellen. ; -)
Ich habe noch nie eine Benennungskonvention gefunden, abgesehen von dem Lesen jeder Ziffer.
Suchen Sie nach etwas, das Sie selbst beim Lesen solcher Zahlen oder für einen Algorithmus für einen Computer tun können?
Wenn es etwas für dich ist, dann denke ich nicht, dass es einen einfachen Weg gibt - nur üben. Z.B. Erkennen von A0 ist 160, also muss A3 163 usw. sein.
Wenn Sie nach einem Algorithmus für einen Computer suchen, konvertieren Sie zuerst in das Dezimalformat und dann in den Text. also A3 - & gt; 163 - & gt; "einhundert" + "und sechzig" + "drei".
mmm ..) wandle es zuerst in Dezimalzahlen um und konvertiere dann das Ergebnis in Englisch? mmm? : D oder ich habe etwas verpasst? )
"Gibt es eine elegantere Form der Übersetzung von hexadezimal nach Englisch?"
Ein System, das ich zum Spaß entwickelt habe, denke ich, ist viel eleganter, wenn auch nicht sehr praktisch für die Kommunikation mit irgendjemand außer vielleicht mir. :)
Die gesprochene Struktur ist nach der Art und Weise modelliert, wie wir die 10er-Zahlen in Englisch sprechen, aber ich habe sie sprachunabhängig gemacht, so dass sie bestehende englische Wörter nicht wieder verwendet, also ist sie nicht wirklich auf Englisch.
Auf der Webseite können Sie verschiedene Sound-Systeme ausprobieren (siehe die Resymbole-Sektion), so dass Sie ungefähr wie das englische Wort "acht" klingen können, indem Sie die Sounds "e" und "t" als Ersatz für meine Standard-Sounds wählen. du "und" s ".
Tags und Links language-agnostic hex