このページの解説は C99 をベースとしています。
以下は目次です。
ある符号付き整数型で表現できる最小値や最大値を使いたいとします。
たとえば、int型の変数を定義するとき、表現できる最小値や最大値で初期化したい場合、どのように書けるでしょうか。
int min = ???; // int型の最小値
int max = ???; // int型の最大値
符号付き整数型の最小値や最大値を定義したマクロが、標準ライブラリに用意されていますから、それを使います。
これらのマクロは limits.h で定義されています。また、ptrdiff_t型のようなほかの符号付き整数型については stdint.h で定義されています。
すべてではありませんが、代表的なものを以下に挙げます。
型 | 最小値マクロ | 最大値マクロ | ヘッダ |
---|---|---|---|
(signed) char | SCHAR_MIN | SCHAR_MAX | limits.h |
(signed) short | SHRT_MIN | SHRT_MAX | limits.h |
(signed) int | INT_MIN | INT_MAX | limits.h |
(signed) long | LONG_MIN | LONG_MAX | limits.h |
(signed) long long | LLONG_MIN | LLONG_MAX | limits.h |
ptrdiff_t | PTRDIFF_MIN | PTRDIFF_MAX | stdint.h |
#include <limits.h>
#include <stdio.h>
int main(void)
{
int i_min = INT_MIN;
int i_max = INT_MAX;
signed char c_min = SCHAR_MIN;
signed char c_max = SCHAR_MAX;
long long ll_min = LLONG_MIN;
long long ll_max = LLONG_MAX;
("%d %d\n", i_min, i_max);
printf("%hhd %hhd\n", c_min, c_max);
printf("%lld %lld\n", ll_min, ll_max);
printf}
実行結果:
-2147483648 2147483647
-128 127
-9223372036854775808 9223372036854775807
return 0;
を削除(C言語編全体でのコードの統一)
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |