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

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

WBOY
リリース: 2023-09-19 13:09:03
転載
788 人が閲覧しました

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート