2 進数と 16 進数はかなり頻繁に使用されますが、8 進数は使用されません。ただし、8 進数には、一部の言語で使用するための独自の規則があります (つまり、先頭に 0 を付けて 8 進数を示します)。8進数はいつ使用されますか? 8 進数または 8 進数を使用する方が簡単に推論できる典型的な状況は何ですか? それとも単に好みの問題ですか?
9 に答える
8 進数は、1 ワードのビット数が 3 の倍数である場合、またはビットのグループ化が 3 のグループで表記する意味がある場合に使用されます。例は次のとおりです。
- ワードサイズが 18 ビットの古代のシステム (ほとんどが歴史的なもの)
- 9 ビット バイトのシステム (主に歴史的)
- 9 ビット (3*3 ビット、"rwxr-x---" 0750) の unix ファイル許可
- 12 ビットの unix ファイル許可 (9 ビット バージョンと同じですが、setuid、setgid、および sticky の前に 01777 の 3 ビットを追加しますが、文字はここではより複雑です)
私は約 25 年間 IT に携わってきましたが、UNIX ファイル許可ビット以外の 8 進数の使用に遭遇したことはありません。
ただし、ワードのビット数が 4 の倍数の場合は、必ずhex を使用してください。
8 進法は、UNIX システムでファイル許可を表す省略形として使用されます。たとえば、ファイル モードrwxr-xr-x
は0755
.
8 進法が使用されるのは、構文がプラットフォームでおそらく意味を成していた時代の遺物である場合です (システム ワードは常に 8 ビットの倍数であるとは限りません)。現在はhexが使用されています。
これは思いつきませんでしたが、デジタルディスプレイです!
他のいくつかの用途: http://en.wikipedia.org/wiki/Octal
8 進数がより頻繁に使用されていた主な理由の 1 つは、頭の中で 8 進数と 2 進数を変換する方が、16 進数から 2 進数に変換するよりも簡単だからです。8 桁の 8 進数 (0-7) の 2 進数表現を覚えるだけで済みます。
デバッグとは、LED の列からレジスタの内容を読み取ること、またはトグル スイッチの配列を使用してデータを入力することを意味していた時代に戻ると、これは大きな懸念事項でした。これらの初期のコンピューターの多くのパネルは、これを容易にするために、LED とスイッチを 3 つのグループにまとめていました。
ただし、8 ビット バイトの倍数であるワード サイズが勝ち始めたため、16 進数が勝ち始め、バイナリでデータを読み込んで入力する必要がなくなりました (コンソール テキスト UI とその後の GUI デバッガーを使用)。
アビオニクスでは、ARINC 429 ワード ラベルはほとんど常に 8 進数で表されます。
(ほとんどの)シャープやフラットから離れている限り、音楽。
参考までに、Windows と JavaScript がゼロで始まる数値を 8 進数と自動的に判断し、数値を変換する場所がいくつかあります。
Windowsで10.0.2.010のようにpingしてアドレス指定すると、実際には10.0.2.8にpingされます
コンピュータの ip/dns アドレスとして入力すると、Windows もこれを行います。
非推奨ですが、基数を指定しない場合、Javascript は parseInt などの一部の関数でデフォルトでこれを行います http://www.w3schools.com/jsref/jsref_parseint.asp