2012-03-29 8 views
0

int型のデータ型の幅はALUのデータ幅に依存していると言えるでしょうか? たとえば、32ビットプロセッサは32ビット幅のintデータ型を持つと言うのは正しいですか? 同様に16ビットと8ビット(Cはintのサイズが少なくともgreater than 16 bitであることを保証していることに注意してください)。マシン上のintデータ型の幅

+0

多くのプロセッサは、今では別のALUを持っていないので、参照として実際に使用することはできません。代わりに、プロセッサの内部データバス幅を使用するほうが良いかもしれません。 –

+1

リンクを確認してください:http://stackoverflow.com/questions/2331751/does-the-size-of-an-int-depend-on-the-compiler-and-or-processor – Vijay

+0

ここに別の、ほとんどの複製:http://stackoverflow.com/questions/9689049/what-decides-the-sizeof-an-integer –

答えて

4

いいえ、これは実装次第です。たとえば、64ビットシステム用のコンパイラの多くは、32ビット幅のintを持っています。

+0

また、16ビットコンパイラは386+で長い間使用されていました。 – ninjalj

+0

そして、8ビットコンパイラは通常、16ビットのintを持っています。 – Lundin

1

プリミティブ型の詳細については、sizeofのようなプリミティブ型や組み込み演算子の詳細はコンパイラ固有のものであるため、コンパイラのドキュメントを参照する必要があります。最終的にはおそらくハードウェアの詳細に直接関係しているでしょうが、私はCがALUの詳細に関して自分よりも抽象度が高いと信じています。

関連する問題