C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

CおよびC++で「長い」データ型の必要性はありますか?


CまたはC++には、整数型データに使用される4つの異なるデータ型があります。これらの4つのデータ型は、short、int、long、およびlonglongです。これらのデータ型はそれぞれ、異なるメモリスペースを使用します。サイズは、アーキテクチャやオペレーティングシステムによって異なります。 intは4バイトかかる場合もあれば、2バイトかかる場合もあります。これはコンパイラーでも起こります。したがって、クロスコンパイラを使用できます。

クロスコンパイラは基本的にコンパイラであり、現在のプラットフォーム以外のプラットフォーム用にコンパイルすることができます。

したがって、次のコードを32ビットシステムと64ビットシステムでコンパイルする場合は、異なる出力が生成されます。

#include<stdio.h>
int main() {
   printf("Size of int : %ld Bytes\n", sizeof(int));
   printf("Size of long : %ld Bytes\n", 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

出力

Size of int : 4 Bytes
Size of long : 8 Bytes
Size of long long : 8 Bytes

したがって、この例から、長いデータ型がコンパイラーによって異なることが簡単に理解できます。それで、その背後にある理由は何ですか?

CPUは、メモリアドレスレジスタ(MAR)のアドレスを提供することにより、プライマリメモリ(RAM)からデータを呼び出します。場所が見つかると、メモリバッファレジスタ(MBR)に転送されます。データは、さらに使用するためにCPUレジスタに保存されます。したがって、データバスのサイズによってCPUレジスタのサイズが決まります。 32ビットシステムの場合、一度に呼び出すことができるのは4バイトのデータのみです。データが32ビットより大きい場合、2サイクルかかります。したがって、小さいデータの場合、違いはありません。


  1. C ++のプリミティブデータ型とは何ですか?

    プリミティブ型は、それが表すことができる値が非常に単純な性質(数値、文字、または真理値)を持つデータ型です。プリミティブ型は、あらゆるプログラミング言語の最も基本的な構成要素であり、より複雑なデータ型のベースです。 C++には次のプリミティブデータ型があります- S.No タイプ 説明 1 ブール値 値trueまたはfalseのいずれかを格納します。 2 char 通常は1オクテット(1バイト)。これは整数型です。 3 int マシンの整数の最も自然なサイズ。 4 フロート 単精度浮動小数点値。 5 do

  2. C ++の変数と変数の種類は何ですか?

    変数は、プログラムが操作できる名前付きストレージを提供します。 C ++の各変数には特定のタイプがあり、変数のメモリのサイズとレイアウトを決定します。そのメモリ内に格納できる値の範囲。変数に適用できる一連の操作。変数の非常に単純な例は-です。 int my_val = 5; ここでは、int(integer)型の変数my_valがあり、値は5です。より一般的には、変数は-として定義されます。 type variable_name; または、それらも初期化したい場合- type variable_name = value; 変数の名前は、文字、数字、および下線文字で構成できます。文字またはア