最終更新日時: 2025年07月13日 13時07分37秒 (JST)
Koichi Murase が更新

履歴 編集

macro
<cstdint>

# UINT8_MAX(C++11)

    #define UINT8_MAX implementation-defined

## 概要

`uint8_t` の最大値を表す定数。

ビット数8をNとして、このマクロの値は2N - 1である255となる。

その値の型は、`uint8_t`を整数昇格したものとなる。

なお、このマクロは `uint8_t` が定義されていない場合には定義されない。

## 例

    #include <iostream>
    #include <cstdint>

    int main()
    {
      std::cout << UINT8_MAX << std::endl;
    }

### 出力

    255

Visual C++では、`static_cast<int>(UINT8_MAX)`としないと、このとおりに出力されない。

## バージョン

### 言語

- C++11

### 処理系

- Clang: 3.2 ✅
- GCC: 4.4 ✅
- ICC: ??
- Visual C++: 2010 ✅, 2012 ✅, 2013 ✅, 2015 ✅
  - 2012以降、値の型は`unsigned char`となっており、標準規格に合致していないことに注意。