「C++/仕様」(2008/07/02 (水) 15:05:45) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**整数型の範囲
|符号|型|接尾語|バイト数|最小値|最大値|>|大まかな目安|h
|signed|char|なし|1バイト|RIGHT:-128|RIGHT:127|||
|unsigned|~|u、U|~|RIGHT:0|RIGHT:255|||
|signed|short|なし|2バイト|RIGHT:-32768|RIGHT:32767|RIGHT:±2^15|RIGHT:±3*10^4|
|unsigned|~|u、U|~|RIGHT:0|RIGHT:65535|RIGHT:2^16|RIGHT:6*10^4|
|signed|int|なし|4バイト|RIGHT:-2147483648|RIGHT:2147483647 |RIGHT:±2^31|RIGHT:±2*10^9|
|unsigned|~|u、U|~|RIGHT:0|RIGHT:4294967295|RIGHT:2^32|RIGHT:4*10^9|
|signed|long|l、L|4バイト|RIGHT:-2147483648|RIGHT:2147483647 |RIGHT:±2^31|RIGHT:±2*10^9|
|unsigned|~|ul、UL|~|RIGHT:0|RIGHT:4294967295|RIGHT:2^32|RIGHT:4*10^9|
|signed|long long|ll、LL|8バイト|RIGHT:-9223372036854775808|RIGHT:9223372036854775807 |RIGHT:±2^63|RIGHT:±9*10^18|
|unsigned|~|ull、ULL|~|RIGHT:0|RIGHT:18446744073709551615|RIGHT:2^64|RIGHT:1*10^19|
***注
接尾語なしの数値はint型になるので、int以上の符号付型の最小値を直接指定することはできない。~
なので例えば符号付int型の最小値は次のように指定しなければならない。~
もっとも、最近のコンパイラは優秀だから大丈夫だったり。
#codehighlight(C++){{
int ng = -2147483648; // 間違い: -(2147483648)と認識されるため、桁あふれが生じる
int ok = -2147483647 - 1; // OK
}}
----
**整数型の範囲
|符号|型|接尾語|バイト数|最小値|最大値|>|大まかな目安|h
|signed|char|なし|1バイト|RIGHT:-128|RIGHT:127|||
|unsigned|~|u、U|~|RIGHT:0|RIGHT:255|||
|signed|short|なし|2バイト|RIGHT:-32,768|RIGHT:32,767|RIGHT:±2^15|RIGHT:±3*10^4|
|unsigned|~|u、U|~|RIGHT:0|RIGHT:65,535|RIGHT:2^16|RIGHT:6*10^4|
|signed|int|なし|4バイト|RIGHT:-2,147,483,648|RIGHT:2,147,483,647 |RIGHT:±2^31|RIGHT:±2*10^9|
|unsigned|~|u、U|~|RIGHT:0|RIGHT:4,294,967,295|RIGHT:2^32|RIGHT:4*10^9|
|signed|long|l、L|4バイト|RIGHT:-2,147,483,648|RIGHT:2,147,483,647 |RIGHT:±2^31|RIGHT:±2*10^9|
|unsigned|~|ul、UL|~|RIGHT:0|RIGHT:4,294,967,295|RIGHT:2^32|RIGHT:4*10^9|
|signed|long long|ll、LL|8バイト|RIGHT:-9,223,372,036,854,775,808|RIGHT:9,223,372,036,854,775,807 |RIGHT:±2^63|RIGHT:±9*10^18|
|unsigned|~|ull、ULL|~|RIGHT:0|RIGHT:18,446,744,073,709,551,615|RIGHT:2^64|RIGHT:1*10^19|
***注
接尾語なしの数値はint型になるので、int以上の符号付型の最小値を直接指定することはできない。~
なので例えば符号付int型の最小値は次のように指定しなければならない。~
もっとも、最近のコンパイラは優秀だから大丈夫だったり。
#codehighlight(C++){{
int ng = -2147483648; // 間違い: -(2147483648)と認識されるため、桁あふれが生じる
int ok = -2147483647 - 1; // OK
}}
----
表示オプション
横に並べて表示:
変化行の前後のみ表示: