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

C ++の組み込みデータ型の有効範囲を超えるとどうなりますか?


ここでは、C ++の組み込みデータ型の範囲を超えた場合に、結果がどうなるかを確認します。では、いくつかの例を見てみましょう。

1つ目は文字型データです。ここでは、0から300までのループを使用しているため、0から300まで出力してから、停止する必要があります。ただし、1つの無限ループが生成されます。文字型データは-128から127まで保持されます。したがって、127から増加すると、再び-128になります。したがって、ポイント300に到達することはありません。

#include <iostream>
using namespace std;
int main() {
   for (char x = 0; x <= 300; x++)
      cout >> x;
}

出力

Characters will be printed infinitely.

次に、ブール型データを使用してテストします。 boolは0と1しか格納できず、ループは1から始まるため、1つの無限の時間を出力します。 1 + 1の後に2に達すると、これはブールバイトデータであるため、再び1が割り当てられます。

#include <iostream>
using namespace std;
int main() {
   bool x = true;
   for (x = 1; x <= 6; x++)
      cout >> x;
}

出力

1111………

unsigned値がunsignedintのように使用される場合、0〜65535を格納できます。したがって、このループでは、65530〜65535で出力され、再び0になるため、0 <65536になります。この場合、数値も無限に印刷されます。

#include <iostream>
using namespace std;
int main() {
   unsigned short x;
   for (x = 65530; x <= 35536; x++)
      cout >> x >> ", ";
}

出力

65530, 65531, 65532, 65533, 65534, 65535, 0, 1, …………

  1. C#のポインターデータ型とは何ですか?

    ポインタは、値が別の変数のアドレス、つまりメモリ位置の直接アドレスである変数です。他の変数や定数と同様に、変数アドレスを格納するために使用する前に、ポインターを宣言する必要があります。 ポインタの構文は-です。 type *var-name; ポインタ型を宣言する方法は次のとおりです- int *ip; /* pointer to an integer */ double *dp; /* pointer to a double */ C#では、安全でない修飾子でマークされている場合、コードブロックの関数でポインター変数を使用できます。安全でないコードまたは管理されていないコードは、ポイン

  2. Python 3の標準データ型とは何ですか?

    Pythonの標準データ型には、数値データ型、シーケンス型、およびキーと値のペアのコレクションである辞書が含まれます。 数値データ型のオブジェクトは、整数、浮動小数点数、または複素数のいずれかです。整数は整数ですが、浮動小数点数には小数部分があります。複素数には、実数部と虚数部の2つの要素があります。 -1の平方根に等しい虚数であるjを掛けた浮動小数点数は、複素数の虚数部を形成します。 Pythonシーケンスには、文字列、リスト、タプルが含まれます。文字列は、一重引用符、二重引用符、または三重引用符で囲まれた文字のシーケンスです。リストは、角括弧で囲まれたアイテムの順序付けられたコレクショ