Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 数値データ型 | 変数とデータ型
C++入門

数値データ型

メニューを表示するにはスワイプしてください

整数値

整数データ型は、整数値に最も一般的に使用されるデータ型。int データ型は、-2,147,483,648 から 2,147,483,647 の範囲内の値を保持可能。

main.cpp

main.cpp

12345678910
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }

これは、int 変数を宣言すると、PCのメモリから正確に4バイトが割り当てられるために発生する。2147483647 より大きい数値(または -2147483648 より小さい数値)は、その4バイトに収まらない。他にも、用途に応じてより多く(または少なく)のメモリ領域を割り当てられるデータ型が用意されている。以下の表を参照。

longは大きな数値(例:世界の人口)を格納するために使用可能。shortは、数値が-32,768から32,767の範囲を超えないことが確実な場合(例:ユーザーの年齢の保存)に使用可能。shortを使用すると、より少ないメモリ領域で済む。

main.cpp

main.cpp

12345678910111213
#include <iostream> int main() { short age = 22; // for small numbers int likes = 143200; // for larger numbers long population = 8200000000; // for very large numbers // Display the values std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Note
注意

選択するデータ型には注意が必要です。型の範囲を超えた場合、C++コンパイラは通知を行わずエラーの表示なしに予期しない値を受け取る可能性があります。

浮動小数点数

上記のデータ型は整数を格納するために設計されています。これらに 1.6 を代入しようとすると、次のような結果になります。

main.cpp

main.cpp

12345678
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }

int型は数値の小数部分を切り捨てる動作。short型やlong型も同様の動作。浮動小数点(小数)を格納する場合は、float型またはdouble型を使用。

doubleを使って1.6を格納する例。

main.cpp

main.cpp

12345678910
#include <iostream> int main() { float floatNum = 123.45678; double doubleNum = 123.45678; std::cout << "using float:" << floatNum - 123 << std::endl; std::cout << "using double:" << doubleNum - 123 << std::endl; }
Note
注意

float型は7桁の精度しか持たないため、数値123.456789はすでにその範囲を超えています。これにより不正確な結果が生じる可能性があります(下記の例を参照)。そのため、doubleの精度で十分であると確信できない限り、デフォルトでfloatを使用することを推奨します。

もちろん、小数部が0である場合は、floatdoubleで整数値を格納することも可能です。しかし、変数が整数値のみを格納する場合(例:人口や「いいね」の数など)は、short/int/longを使用するのが良い習慣です。

question mark

2,147,483,647より大きい数値をint変数に代入しようとするとどうなりますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  3
some-alt