ステータス:
EXPERIMENTAL
原文:
RFC 9226
その他の情報:
Datatracker|Info page

RFC 9226

Bioctal: Hexadecimal 2.0

RFC 9226

Bioctal: 16進数 2.0

Abstract

概要

The prevailing hexadecimal system was chosen for congruence with groups of four binary digits, but its design exhibits an indifference to cognitive factors. An alternative is introduced that is designed to reduce brain cycles in cases where a hexadecimal number should be readily convertible to binary by a human being.

一般的な16進数は2進数4桁のグループとの整合性から選ばれています。 しかし、その設計は認知的要因に無頓着であることが示されています。 そこで、人間が16進数を2進数へ変換するときに、ブレインサイクルが少なくなるよう設計された代替方式を紹介します。

This document is not an Internet Standards Track specification; it is published for examination, experimental implementation, and evaluation.

この文書はインターネット標準化団体(Internet Standards Track)の仕様ではなく、検討、実験的な実装、評価のために公開されたものです。

This document defines an Experimental Protocol for the Internet community. This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not candidates for any level of Internet Standard; see Section 2 of RFC 7841.

この文書は、インターネットコミュニティのための実験的なプロトコルを定義します。 これはRFCシリーズへの貢献であり、他のどのRFCストリームとも無関係です。 RFCエディターは自らの裁量でこの文書の公開を選択し、実装や配備のための価値について何ら表明するものではありません。 RFCエディターによって発行が承認された文書は、どのレベルのインターネット標準の候補にもなりません。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9226.

この文書の現在の状態、正誤表、それに対するフィードバックの提供方法に関する情報は、https://www.rfc-editor.org/info/rfc9226 で入手できます。

Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.

この文書は、この文書の発行日に有効なBCP 78およびIETFトラストのIETF文書に関する法的規定(https://trustee.ietf.org/license-info)に従うものとします。 これらの文書は、この文書に関するあなたの権利と制限を記述しているので、注意深く確認してください。

Octal has long been used to represent groups of three binary digits as single characters, and that system has the considerable merit of not requiring any digits other than those already familiar from decimal numbers. Unfortunately, the increasing use of 16-bit machines and other machines that have word lengths that are evenly divisible by four (but not by three) has led to the widespread adoption of hexadecimal. Table 1 presents the digits of the hexadecimal alphabet.

8進数は2進数の3桁を1文字として表現するのに古くから使われており、10進数でおなじみの桁以外を必要としないという大きな利点があります。 しかし残念なことに、16ビット機などワード長が4で割り切れる(3では割り切れない)機種の普及にともない、16進法が広く採用されました。 表1 に16進数アルファベットの桁を示します。

Table 1: The Hexadecimal Alphabet
Value Digit
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F
表 1: 16進数のアルファベット
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F

The choice of alphabet is clearly arbitrary: On the exhaustion of the decimal digits, the first letters of the Latin alphabet are used in sequence for the remaining hexadecimal digits. An arbitrary alphabet may be acceptable on an interim or experimental basis. However, given the diminishing likelihood of a return to 18-bit computing, a review of this choice of alphabet is merited before its use, like that of the QWERTY keyboard, becomes too deeply established to permit the easy adoption of a more logical alternative.

アルファベットの選択は明らかに恣意的です。 10進数を使い切った時点で、残りの16進数にはラテンアルファベットの最初の文字が順番に使われます。 暫定的あるいは実験的に任意のアルファベットを使用することは許容されるかもしれません。 しかし、18ビットへの戻る可能性が低くなっている現在、このアルファベットの選択についての見直しが必要です。 QWERTYキーボードのように深く定着してしまい、より論理的な代替手段を容易に採用できなくなる前に行わなければなりません。

One problem with the hexadecimal alphabet is well known: It contains two vowels, and numbers expressed in hexadecimal have been found to collide with words offensive to vegetarians and other groups.

16進数には2つの母音が含まれており、16進数で表現した数字がベジタリアンなどにとって不快な単語と衝突しまう問題がよく知られています。

Imposing a greater constraint on the solution space, however, is the difficulty of mentally converting a number expressed in hexadecimal to (or from) binary. Consider the hexadecimal digit 'D', for example. First, one must remember that 'D' represents a value of 13 -- and, while it may be easy to recall that 'F' is 15 with all bits set, for digits in the middle of the non-decimal range, such as 'C' and 'D', one may resort to counting ("A is ten, B is eleven, ..."). Next, one must subtract eight from that number to arrive at a number that is in the octal range. Thus, the benefit of representing one additional bit incurs the cost of two additional mental operations before one arrives at the position where the task that remains reduces to the difficulty of converting the remaining three digits to binary.

16進数で表現された数値を2進数に変換することは、精神的に困難であり、解答空間により大きな制約を与えることになります。 たとえば、16進数の「D」を考えてみましょう。まず、「D」が13という値を表していることを覚えなければなりません。 「F」が15でありすべてのビットがセットされていることは簡単に思い出すことができます。 その一方、CやDのように10進数にはない中間の桁の場合、「Aは10、Bは11、...」と数えることになります。 次に、8進数の範囲の数値にするために、その数値から8を引かなければなりません。 このように、1ビット多く表現できるという利点がある一方で、精神的な操作が2回余分に必要となります。 残りの3桁を2進数に変換するというタスクが残ります。

These mental steps are not difficult per se, since a child could do them, but if it is possible to avoid employing children, then it should be avoided. An appeal to the authority of cognitive psychology is perhaps also due here, in particular to the "seven plus or minus two" principle [Miller] -- either because octal is within the upper end of that range (nine) and hexadecimal is not, or else because the difference in the size of the alphabets is greater than the lower end of that range (five). Either way, it is almost certainly relevant.

これらの精神的なステップは、子供でもできることなので、それ自体は難しいことではありません。 しかし、子供の雇用を避けることが可能であれば、そうするべきでしょう。 認知心理学の権威に訴えることは、おそらくここでも必要です。 とくに「7プラスマイナス2」の原則[Miller] -- 8進数はその範囲の上限(9)の内側にありますが、16進数はそうではありません。 あるいはアルファベットのサイズの違いがその範囲の下限(5)より大きいことが、その理由でしょう。 いずれにせよ、ほぼ間違いなく関連性があります。

Various alternatives have already been suggested. Some of these are equally arbitrary, e.g., in selecting the last six letters of the Latin alphabet rather than the first six letters.

すでにさまざまな代替案が提案されています。 その中には、ラテンアルファベットの最初の6文字ではなく最後の6文字を選択するなど、同様に恣意的なものもあります。

The scheme that comes closest to solving the main problem to date is described by Bruce A. Martin [Martin] who proposes new characters for the entire octal alphabet. While his principal motivation is to distinguish hexadecimal numbers from decimals, the design of each character uses horizontal lines to directly represent the "ones" of the corresponding binary number, making mental translation to binary a trivial task.

現在までのところ、主要な問題の解決にもっとも近い方式は、 Bruce A. Martin[Martin] によって説明されており、 8進数のアルファベット全体に新しい文字を提案しています。 彼の主な動機は16進数を10進数と区別することですが、各文字のデザインは対応する2進数の「1」を直接表す水平線を使っており、 2進数への精神的な変換は些細な作業となっています。

Unfortunately for this and other proposals involving new symbols, proposals to change the US-ASCII character set [USASCII] might no longer be accepted. Also, it seems unrealistic to expect keyboards or printer type elements (whether of the golf ball or daisy wheel kind) to be replaced to accommodate new character designs.

この提案や新しいシンボルを含む他の提案にとって残念なのは、 US-ASCII文字セット[USASCII] を変更する提案はもはや受け入れられないかもしれないことです。 また、キーボードやプリンターのタイプエレメント(ゴルフボール型かデイジーホイール型かを問わず)が、 新しい文字デザインに対応するために交換されることを期待するのは非現実的だと思われます。

Table 2 presents the hexadecimal alphabet once again, this time in a sequence of two octaves with values increasing left to right and top to bottom.

表2 に16進数のアルファベットをふたたび示します。 今回は左から右、上から下の順に値が大きくなるように、2つのオクターブを並べます。

Table 2: The Hexadecimal Alphabet in Sequential Octaves
0 1 2 3 4 5 6 7
8 9 A B C D E F

Arranged thus, the binary representation of each digit in the second octave is the same as the digit above it, but with the most significant of the four bits set to '1' instead of '0'.

このように並べると、第2オクターブの各桁の2進表現は、 4ビットのうち最上位が「0」ではなく「1」になるという点をのぞき、上の桁と等しくなります。

The incongruity of two decimal digits in the second octave also suggests that, in blindly aligning with four bits, hexadecimal (six plus ten, neither of which are powers of two) misses an opportunity to align also with three bits.

不自然なことに第2オクターブに10進数が桁が2つある事実は次のことを示唆しています。 やみくもに4ビットにアラインしたことで、16進数(6+10、いずれも2の累乗ではありません)は3ビットにアラインする機会を逃してしまったのです。

Bioctal restores congruence by replacing the second row with characters mnemonically related to the corresponding character in the first octave.

Bioctalは、2行目を第1オクターブの対応する文字と関連するニーモニックへと置き換えることで、整合性を回復しています。

Table 3 shows the compelling result.

表3 は、説得力のある結果を示しています。

Table 3: Bioctal in Sequential Octaves
0 1 2 3 4 5 6 7
c j z w f s b v
表 3: オクターブ単位にまとめたBioctal
0 1 2 3 4 5 6 7
c j z w f s b v

The mnemonic basis is the shape of the lowercase character. This is seen directly for '2', '5', and '6'. For '3', '4', and '7', the corresponding letters are the result of a quarter-turn clockwise (assuming an "open" '4'). The choice of 'c' and 'j' for '0' and '1' avoids vowels and lowercase 'L', the latter being confusable with '1' in some fonts.

ニーモニックの原則は、小文字の形状です。 これは「2」「5」「6」については直接的に見ることができます。 「3」「4」「7」については、対応する文字を時計回りに1/4回転した結果となります(「4」は「開いた」状態と仮定します)。 「0」「1」に対応する文字に「c」「j」を選択したのは、母音と小文字の「L」を避けるためです(後者は一部のフォントで「1」と混同ことがあります)。

With this choice of letters, it is immediately evident that both problems with hexadecimal are solved. Mental conversion is now straightforward: if the digit is a letter, then the most significant of the four binary bits is '1', and the remaining three bits are the same as for the Arabic numeral with the same shape in the first octave.

この文字の選択で、16進法の問題は両方とも解決されたことがすぐにわかります。 精神的な変換はより明確になりました:ある桁が英字であれば、2進数の4ビットのうち最上位は「1」、 残りの3ビットは第1オクターブの同じ形状をしたアラビア数字と同じになります。

Several objections can be anticipated, the first of which concerns the name. The term "bioctal" is already used to refer to the combination of two octal characters into a single field on, for example, paper tape (e.g., [UNIVAC]). However, if the word "bioctal" must be disadvantaged relative to words such as "biannual" in the number of meanings it is allowed to have, then it is the paper tapers who must give way: in that context, the "octal" part of "bioctal" refers to the number of distinct values that three bits can have, while the "bi" refers to a doubling of the number of bits, not values. A meaning depending on such a discordant etymology does not deserve to endure.

いくつかの反論が予想されますが、その第一は名称に関するものです。 8進数の2文字を組み合わせて、たとえば紙テープの1フィールドにすることを指す言葉として、「bioctal」という言葉がすでに使われています(たとえば、[UNIVAC])。 しかし、「bioctal」という単語が、「biannual(年に2回)」などの数を意味する単語と比べて、不利になるのであれば、道を譲るべきは紙テープの方です。 この文脈では、「bioctal」の「octal」の部分は、3ビットが持ちうる異なる値の数を指し、「bi」は値ではなく、ビットの数の倍増を指しています。 このような矛盾した語源に依存する意味は、存続する価値がありません。

Second, it may be argued that the use of hexadecimal has already become too entrenched to be changed in the short term: Bioctal should be introduced only after those working in the industry who have grown accustomed to hexadecimal have retired. Such a dilatory contention cannot be allowed to impede the march of progress. Instead, any data entry technician who claims to have difficulty with bioctal may be reassigned to duties involving only binary numbers.

第二に、16進数表記はすでに定着しており、短期的に変更するのは難しいという意見もあります。 Bioctalは16進数に慣れた人たちが退職した後に導入するべきだ、というものです。 そんな悠長なことを言っていては、進歩は望めません。 その代わり、Bioctalが苦手だというデータ入力技術者は、2進数のみの業務に配置換えすればよいのです。

A third possible objection is that numbers in bioctal do not sort numerically. However, this assumes a sort based on the US-ASCII order of symbols; it is quite possible that bioctal numbers sort naturally in some lesser known variety of EBCDIC. Further, resistance to numeric sorting may be an indicator of virtue, being suggestive of an alphabet with a certain strength of character.

第三の反論は、Bioctalの数字は数値的にソートされないというものです。 しかし、これはUS-ASCIIの記号の順序にもとづくソートを想定しています。 Bioctalの数字は、あまり知られていないEBCDICの変種で自然にソートされる可能性が十分にあります。 また、数字が並びにくいということは、アルファベットの個性が強いということであり、美徳の指標となる可能性もある。

One difficulty remains: Not all computers support lowercase letters. While this is indeed true, it should be confirmed in any particular instance: the author has observed that in many cases a machine having a keyboard with buttons marked only with uppercase letters also supports lowercase letters. In any case, it is permissible to use uppercase letters instead of the lowercase ones of Table 3; the morphology mnemonic continues to work for most bioctal digits in uppercase, although an extra mental cycle is required for 'B'.

ひとつ難点が残っています。 すべてのコンピューターが小文字をサポートしているわけではないことです。 これは確かに事実ですが、個別の事例で確認する必要があります。 大文字のボタンしかないキーボードを持つマシンが小文字にも対応している場合が多いことを著者は確認しています。 いずれにせよ、表3 の小文字の代わりに大文字を使っても差し支えありません。 ニーモニックは大文字であってもほとんどのBioctalの桁に対して機能し続けます、「B」については追加のメンタルサイクルが必要です。

The letters 'b' and 'f' appear in both the bioctal and hexadecimal alphabets, which makes potential misinterpretation a concern. A case of particular hazard arises where two embedded systems engineers work to develop a miniature lizard detector designed to be worn like a wristwatch. One engineer works on the lizard proximity sensor and the other on a minimal two-character display. The interface between the circuits is 14 bits. To make things easier, the engineer working on the display arranges for these bits to be set in a pattern that allows them to be used directly as two seven-bit US-ASCII characters indicating the most significant lacertilian species detected in the vicinity of the device. Due to the use of an old US-ASCII table (i.e., one in hex, not bioctal) and human error, some of the values specified as outputs for the detection subsystem are in hexadecimal, not the bioctal the engineer developing that subsystem expects -- including, in the case of one type of lizard, "4b 4f". The result is that the detector displays "NL" (No Lizards) when it should display "KO" (Komodo dragon). This may be considered prejudicial to the security of the user of the device.

「b」と「f」の文字は、Bioctalアルファベットと16進数アルファベットの両方に存在するため、誤認識の可能性があります。 とくに危険なケースは、2人の組み込みシステムエンジニアが、腕時計のように装着できる小型のトカゲ検出器の開発に取り組んでいる場合です。 一人はトカゲの近接センサーを、もう一人は最小限の2文字ディスプレイを開発しています。 回路間のインターフェイスは14ビット。 このビットがそのまま7ビットのUS-ASCII文字2文字として使えるようなパターンになるように、ディスプレイを担当するエンジニアが調整し、 装置近辺で検出されたもっとも重要なトカゲの種類を示す。 古いUS-ASCIIテーブル(つまり、Bioctalではなく16進数)の使用とヒューマンエラーにより、検出サブシステムの出力として指定された値の一部は、 そのサブシステムを開発するエンジニアが期待するBioctalではなく16進数です(ある種類のトカゲの場合、「4b 4f」を含む)。 その結果、本来なら「KO」(コモドオオトカゲ: Komodo dragon)と表示されるところを「NL」(トカゲなし: No Lizards)と表示されてしまうのです。 これは、装置の使用者の安全性を損なうと考えられます。

Extensive research has uncovered no other security-related scenarios to date.

なお、広範な調査により、現在までに他のセキュリティー関連のシナリオは発見されていません。

This document has no IANA actions.

この文書にはIANAアクションはない。

Bioctal is a significant advance over hexadecimal technology and promises to reduce the small (but assuredly non-zero) contribution to anthropogenic global warming of mental hex-to-binary conversions. Since the mnemonic basis of the alphabet is independent of English or any other particular natural language, there is no reason that it should not be adopted immediately around the world, excepting perhaps certain islands of Indonesia to which Varanus komodoensis is native.

Bioctalは16進法の技術を大きく前進させ、 16進法から2進法への変換がもたらす人為的な地球温暖化へのわずかな(しかし確実にゼロではない)寄与を減らすことを約束するものです。 このアルファベットのニモニックベースは、英語や他の自然言語に依存しないので、コモドオオトカゲ生息するインドネシアの一部の島を除いて、 世界中ですぐに採用されるでしょう。

Informative References

[Martin]
Martin, B. A., "Letters to the editor: On binary notation", , DOI 10.1145/364096.364107, , <https://doi.org/10.1145/364096.364107>
[Miller]
Miller, G. A., "The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information", , ,
[UNIVAC]
Sperry Rand Corporation, "Programmers Reference Manual for UNIVAC 1218 Computer", Revision C, Update 2, , <http:/bitsavers.computerhistory.org/pdf/univac/military/1218/PX2910_Univac1218PgmrRef_Nov69.pdf>
[USASCII]
American National Standards Institute, "Coded Character Set -- 7-bit American Standard Code for Information Interchange", ANSI X3.4, ,

参考文献

[Martin]
Martin, B. A., "Letters to the editor: On binary notation", , DOI 10.1145/364096.364107, , <https://doi.org/10.1145/364096.364107>
[Miller]
Miller, G. A., "The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information", , ,
[UNIVAC]
Sperry Rand Corporation, "Programmers Reference Manual for UNIVAC 1218 Computer", Revision C, Update 2, , <http:/bitsavers.computerhistory.org/pdf/univac/military/1218/PX2910_Univac1218PgmrRef_Nov69.pdf>
[USASCII]
American National Standards Institute, "Coded Character Set -- 7-bit American Standard Code for Information Interchange", ANSI X3.4, ,

The author is indebted to R. Goldberg for assistance with Section 4.

R. Goldberg の支援に感謝する。Section 4