ホームページ  >  記事  >  バックエンド開発  >  C言語では長整数データ型が必要です

C言語では長整数データ型が必要です

WBOY
WBOY転載
2023-09-19 13:09:03768ブラウズ

C言語では長整数データ型が必要です

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 サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。