seclan のほえほえルーム

| |

・プログラミング言語 C の新機能 Part XVIII: INT#5:stdint.h[2/2] (1999/06/28 [])
 今回は stdint.h に含まれる、各型の限界の定義について説明します。

以降の定義の注意を示す。C++ では stdint.h を読み込む前に __STDC_LIMIT_MACROS を定義したときだけ以下のマクロが定義される。これらは、#if 式で利用可能である。N は前に0の付かない符号なし10進数整数をあらわしている。


厳密な幅を持つ整数型に関する限界
定義名説明
INTN_MIN1-2N-1または-2N-1符号付き整数型の最小値のマクロ名
INTN_MAX2N-1-1符号付き整数型の最大値のマクロ名
UINTN_MAX2N-1符号なし整数型の最大値のマクロ名
例:N=32の場合
  INT32_MIN1-232-1=-2,147,483,647
  または-232-1=-2,147,483,648
  INT32_MAX232-1-1=2,147,483,647
  UINT32_MAX232-1=4,294,967,295


最小の幅を持つ整数型に関する限界
定義名保証値説明
INT_LEASTN_MIN1-2N-1符号付き整数型の最小値のマクロ名
INT_LEASTN_MAX2N-1-1符号付き整数型の最大値のマクロ名
UINT_LEASTN_MAX2N-1符号なし整数型の最大値のマクロ名


最も演算の速い最小の幅を持つ整数型に関する限界
定義名保証値説明
INT_FASTN_MIN1-2N-1符号付き整数型の最小値のマクロ名
INT_FASTN_MAX2N-1-1符号付き整数型の最大値のマクロ名
UINT_FASTN_MAX2N-1符号なし整数型の最大値のマクロ名


ポインタを格納可能な整数型に関する限界
定義名保証値説明
INTPTR_MIN-32767符号付き整数型の最小値のマクロ名
INTPTR_MAX32767符号付き整数型の最大値のマクロ名
UINTPTR_MAX65535符号なし整数型の最大値のマクロ名


最も大きな幅を持つ整数型に関する限界
定義名保証値説明
INTMAX_MIN1-263符号付き整数型の最小値のマクロ名
INTMAX_MAX263-1符号付き整数型の最大値のマクロ名
UINTMAX_MAX264-1符号なし整数型の最大値のマクロ名


その他の整数型に関する限界
定義名保証値説明
PTRDIFF_MIN-65535ptrdiff_t の下限のマクロ名
PTRDIFF_MAX65535ptrdiff_t の上限のマクロ名
SIG_ATOMIC_MIN-127sig_atomic_t が符号あり整数で定義されたときの下限のマクロ名
0sig_atomic_t が符号なし整数で定義されたときの下限のマクロ名
SIG_ATOMIC_MAX127sig_atomic_t が符号あり整数で定義されたときの上限のマクロ名
255sig_atomic_t が符号なし整数で定義されたときの上限のマクロ名
WCHAR_MIN-127wchar_t が符号あり整数で定義されたときの下限のマクロ名
0wchar_t が符号なし整数で定義されたときの下限のマクロ名
WCHAR_MAX127wchar_t が符号あり整数で定義されたときの上限のマクロ名
255wchar_t が符号なし整数で定義されたときの上限のマクロ名
WINT_MIN-32767wint_t が符号あり整数で定義されたときの下限のマクロ名
0wint_t が符号なし整数で定義されたときの下限のマクロ名
WINT_MAX32767wint_t が符号あり整数で定義されたときの上限のマクロ名
65535wint_t が符号なし整数で定義されたときの上限のマクロ名
SIZE_MAX65535size_t の上限のマクロ名


整数定数用マクロ
定義名説明
INTN_C()を int_leastN_t を型とする符号付き整数定数へ展開するマクロ
UINTN_C()を uint_leastN_t を型とする符号なし整数定数へ展開するマクロ
INTMAX_C()を intmax_t を型とする符号付き整数定数へ展開するマクロ
UINTMAX_C()を uintmax_t を型とする符号なし整数定数へ展開するマクロ



by seclan


| |

 

配信

3.99 msec