10

8ビットは「バイト」と呼ばれます。16ビットはどのように呼ばれますか?"短い"?"語"?

そして、32ビットはどうですか?「int」はCPUに依存していることを知っています。普遍的に適用できる名前に興味があります。

4

8 に答える 8

16

バイトは、コンピューターが処理できるデータの最小単位です。C 言語ではchar、1 つの「バイト」と定義され、CHAR_BITビットがあります。ほとんどのシステムでは、これは 8 ビットです。

一方、単語は通常、CPU によって通常処理される値のサイズですほとんどの場合、これは汎用レジスターのサイズです。この定義の問題点は、うまく老化しないことです。

たとえば、MS Windows のWORDデータ型は、16 ビット CPU が標準であった初期の頃に定義されました。32 ビット CPU が登場したとき、定義は残り、32 ビット整数はDWORD. そして今、64 ビットQWORDの s があります。

「普遍的」とはほど遠いですが、この問題に関するいくつかの異なる見解を以下に示します。

:

  • BYTE- 8 ビット、符号なし
  • WORD- 16 ビット、符号なし
  • DWORD- 32 ビット、符号なし
  • QWORD- 64 ビット、符号なし

GDB :

  • バイト
  • ハーフワード (2 バイト)。
  • ワード (4 バイト)。
  • ジャイアント ワード (8 バイト)。

<stdint.h>:

  • uint8_t- 8 ビット、符号なし
  • uint16_t- 16 ビット、符号なし
  • uint32_t- 32 ビット、符号なし
  • uint64_t- 64 ビット、符号なし
  • uintptr_t- ポインタサイズの整数、符号なし

(Signed 型も存在します。)

特定のデータ型のサイズに依存する移植可能なコードを作成しようとしている場合 (たとえば、ネットワーク プロトコルを実装している場合) 、常に<stdint.h>.

于 2013-01-06T10:19:49.607 に答える
2

正確に8ビットのグループの正しい名前は、実際にはオクテットです。1バイトのビット数は8ビットより多い場合と少ない場合があります(ただし、これは比較的まれです)。

これを超えて、私が知る限り、16ビット、32ビットなどの厳密に明確に定義された用語はありません。

于 2013-01-06T10:07:55.883 に答える
2

16 ビットまたは 32 ビットの測定単位に共通の名前はありません。

「ワード」という用語は、プログラムまたはオペレーティング システムによって一度に処理されるビット数を表すために使用されます。したがって、16 ビット CPU では、語長は 16 ビットです。32 ビット CPU では、語長は 32 ビットです。また、この用語は少し柔軟だと思うので、たとえば 10 ビットのチャンクですべての処理を行うプログラムを作成する場合、それらの 10 ビットのチャンクを「ワード」と呼ぶことができます。

明確にするために。「int」は、コンピューター メモリの測定単位ではありません。実際には、整数を格納するために使用されるデータ型です (つまり、10 進数の要素が 0 の数値)。したがって、プログラミング言語で 2 ビット (または何でも) のみを使用して整数を実装する方法を見つけたとしても、それは int のままです。

于 2013-01-06T10:18:55.200 に答える
2

Dr. Werner Buchholz は、「コンピューターが処理できる最小量のデータとして、ビットの順序付けられたグループを表すデジタル情報の単位」を意味するバイトという言葉を作り出しました。したがって、単語の実際の意味は、問題のマシンのアーキテクチャに依存します。したがって、1 バイトのビット数は任意であり、8、16、または 32 の場合もあります。

この主題に関する完全な論文については、Wikipediaを参照してください。

于 2013-01-06T10:14:27.423 に答える
0

私は以前、バイト、ワード、ロングワードと呼ばれるそれらを耳にしました。しかし、他の人が言及しているように、それはあなたが取り組んでいるネイティブアーキテクチャに依存しています。

于 2013-01-06T10:08:13.147 に答える
0

それらは2バイトと4バイトと呼ばれます

于 2013-01-06T10:08:23.877 に答える
0

16ビットと32ビットの普遍的な用語はありません。単語のサイズはマシンによって異なります。

于 2013-01-06T10:09:32.287 に答える
0

shortwordおよびintすべてコンパイラやアーキテクチャに依存しています。

  • intはデータ型であり、デスクトップの 32 ビットまたは 64 ビット システムでは通常32 ビットです。基盤となるハードウェアのレジスタ サイズよりも大きくなるとは思わないので、一般的な用途では常に高速な (通常は十分な大きさの) データ型である必要があります。
  • short それよりもサイズが小さい可能性intがあります。それがあなたが知っているすべてです。実際には、通常は16 ビットですが、それに依存することはできません。
  • wordはデータ型ではなく、基盤となるハードウェアの自然なレジスタ サイズを示します。

そして、16 ビットや 32 ビットの名前に関しては、何もありません。それらにラベルを付ける理由はありません。

于 2013-01-06T10:17:02.973 に答える