C または C では、整数型データには 4 つの異なるデータ型があります。 4 つのデータ型は、short、int、long、long long です。各データ型は異なるメモリ空間を占有します。サイズはアーキテクチャやオペレーティング システムによって異なります。 int には 4 バイトが必要な場合もあれば、2 バイトが必要な場合もあります。これはコンパイラでも起こります。したがって、クロスコンパイラを使用できます。
クロスコンパイラーは基本的に、現在のプラットフォーム以外のプラットフォーム向けにコンパイルできるコンパイラーです。
したがって、次のコードをコンパイルする場合、32 ビット システムと 64 ビット システムでは異なる出力が生成されます。
#include<stdio.h> int main() { printf("Size of int : %ld Bytes</p><p>", sizeof(int)); printf("Size of long : %ld Bytes</p><p>", sizeof(long)); printf("Size of long long : %ld Bytes", sizeof(long long)); }
Size of int : 4 Bytes Size of long : 4 Bytes Size of long long : 8 Bytes
したがって、この例から、long データ型がコンパイラごとに異なることが簡単に理解できます。では、その理由は何でしょうか?
CPU は、メモリ アドレス レジスタ (MAR) のアドレスを指定して、メイン メモリ (RAM) 内のデータを呼び出します。位置が見つかると、その位置はメモリ バッファ レジスタ (MBR) に転送されます。データはさらに使用するために CPU レジスタに保存されます。したがって、データ バスのサイズによって CPU レジスタのサイズが決まります。 32 ビット システムの場合、一度に呼び出せるのは 4 バイトのデータのみです。データが 32 ビットより大きい場合は 2 サイクルが必要です。したがって、データが小さい場合には違いはありません。
以上がC言語では長整数データ型が必要ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。