web-dev-qa-db-ja.com

8進数(8を底とする)は何に使用されますか?

Javaは、基数2、8、10、16に数値リテラルを書き込む方法を提供します。

base 8が含まれている理由を知りたいです。 int x = 0123;

16進数で1バイトの容量がFF + 1であるという事実に似ているのではないかと考えています。

11
jokinjo

「8進数(8を基数とする)は何に使用されるのですか?」の元の回答

Octalの一般的な使用法

  • binaryの省略形として:コンピューティングマシン(UNIVAC 1050、PDP-8、ICL 1900など)の場合、Octalがワードサイズが3で割り切れるので、2進数の略語(各8進数字は3つの2進数を表す)。したがって、2、4、8、または12桁で、マシン全体の単語を簡潔に表示できます。また、ニキシー管、7セグメントディスプレイ、および電卓をオペレーターコンソールに使用できるようにすることでコストを削減しました。バイナリディスプレイは複雑すぎて使用できず、10進ディスプレイは基数を変換するための複雑なハードウェアが必要で、16進ディスプレイはより多くの数値を表示する必要がありました。 。

  • 16ビット、32ビット、または62ビットのワード表現:すべての最新のコンピューティングプラットフォームは、16ビット、32ビット、または64ビットのワードを使用し、さらに分割8ビットのバイトに。そのようなシステムでは、バイトごとに3つの8進数字が必要であり、最上位の8進数字は2つの2進数字(さらに、存在する場合は次の有効バイトの1ビット)を表します。 16ビットWordの8進数表現には6桁が必要ですが、最上位の8進数は1ビット(0または1)のみを(かなり厳密に)表します。この表現は、4桁の8進数で塗りつぶされているため、最上位バイトを簡単に読み取る方法を提供しません。したがって、2つの16進数字が1バイトを正確に指定するため、今日のプログラミング言語では16進法がより一般的に使用されています。 2のべき乗のワードサイズを持つ一部のプラットフォームには、8進数で表示するとより簡単に理解できる命令サブワードがまだあります。これには、PDP-11およびMotorola 68000ファミリーが含まれます。現代のユビキタスx86アーキテクチャもこのカテゴリに属しますが、このプラットフォームで8進数が使用されることはほとんどありません。

  • エンコーディングの説明:現代のx86アーキテクチャにおけるオペコードのバイナリエンコーディングの特定のプロパティは、8進数で表示するとより簡単に明らかになります。 2ビット、3ビット、3ビットのフィールドに分割されるModRMバイト。したがって、8進数はこれらのエンコーディングの説明に役立ちます。

  • 計算とファイルアクセス許可:計算では16進数の代わりに8進数が使用されることがあり、UNIXシステムでのファイル許可に関連して、現代ではおそらく最も頻繁に使用されます(In chmodへのアクセス許可)。これには、数字として余分な記号を必要としないという利点があります(16進法は16進数なので、0〜9以外に6つの記号が必要です)。

  • デジタルディスプレイ:表現に使用されるシンボルの数が少ないため、デジタルコンテンツを画面に表示するときにも8進数が使用されます。

  • バイト文字列のグラフィック表現:一部のプログラミング言語(C、Perl、Postscriptなど)は、\としてエスケープされたOctalのテキスト/グラフィックの表現を持っていますnnn。 8進数表現は、6ビットのグループをエンコードするUTF-8の非ASCIIバイトで特に便利です。開始バイトには8進値\ 3nnがあり、継続バイトには8進値\ 2nnがあります。

  • 初期の浮動小数点演算:Octalは、Ferranti Atlas(1962)、Burroughs B5500(1964)、Burroughs B5700(1971 )、Burroughs B6700(1971)およびBurroughs B7700(1972)コンピュータ。

  • トランスポンダ:航空機はコードを送信します。これは、地上レーダーから問い合わせを受けると、4桁の8進数で表されます。このコードは、レーダー画面で異なる航空機を区別するために使用されます。

さらに読む: https://en.wikipedia.org/wiki/Octal

0
Jishan Shaikh