简介

  • C++ 标准库

C++ 标准库

<cstdint> 是 C++ 标准库中的头文件,提供了固定大小的整数类型。它定义了一系列的整数类型,确保这些类型在不同平台上有固定的大小,以增强代码的可移植性。

主要内容:

  • 整数类型: 提供了带有明确大小的整数类型,例如 int8_tuint8_tint16_tuint16_t 等。
  • 最小值和最大值: 定义了每种固定大小整数类型的最小值和最大值。
  • 位宽有符号和无符号整数: 提供了有符号和无符号整数类型,其位宽是确定的。

常用类型:

以下是一些常用的整数类型,它们保证了固定的大小和有符号/无符号特性:

  • int8_t, uint8_t: 8 位整数类型
  • int16_t, uint16_t: 16 位整数类型
  • int32_t, uint32_t: 32 位整数类型
  • int64_t, uint64_t: 64 位整数类型

示例用法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstdint>

int main() {
    int8_t myInt8 = 127;
    uint16_t myUInt16 = 65535;
    int32_t myInt32 = -2147483647;

    std::cout << "int8_t value: " << static_cast<int>(myInt8) << std::endl;
    std::cout << "uint16_t value: " << myUInt16 << std::endl;
    std::cout << "int32_t value: " << myInt32 << std::endl;

    return 0;
}

<cstdint> 头文件提供了确定大小和有符号/无符号特性的整数类型,确保了整数类型在各种平台上的可移植性和一致性。这些类型通常用于需要确切大小和精确位宽的数据表示的场景。

C++ 标准库 常用类型和函数

<cstdint> 标准库提供了一组固定大小的整数类型和与整数类型相关的函数,以增强代码的可移植性和可读性。

常用类型:

  1. 有符号整数类型:
    • int8_t: 8 位带符号整数类型
    • int16_t: 16 位带符号整数类型
    • int32_t: 32 位带符号整数类型
    • int64_t: 64 位带符号整数类型
  2. 无符号整数类型:
    • uint8_t: 8 位无符号整数类型
    • uint16_t: 16 位无符号整数类型
    • uint32_t: 32 位无符号整数类型
    • uint64_t: 64 位无符号整数类型
  3. 最小值和最大值常量:
    • INT8_MIN, INT8_MAX: int8_t 的最小值和最大值
    • UINT8_MAX: uint8_t 的最大值
    • 以此类推,每种固定大小整数类型都有相应的最小值和最大值常量。

常用函数:

  1. 宏定义:
    • INT8_C, UINT8_C: 用于创建带符号和无符号整数常量,例如 INT8_C(5) 表示带符号 8 位整数的常量 5。
  2. 最小宽度宏定义:
    • INT_LEAST8_MIN, INT_LEAST8_MAX: int_least8_t 的最小值和最大值
    • UINT_LEAST8_MAX: uint_least8_t 的最大值
    • 以此类推,最小宽度整数类型都有对应的最小值和最大值常量。
  3. 快速宽度宏定义:
    • INT_FAST8_MIN, INT_FAST8_MAX: int_fast8_t 的最小值和最大值
    • UINT_FAST8_MAX: uint_fast8_t 的最大值
    • 同样适用于其他固定大小整数类型。
  4. 其他函数:
    • INTPTR_MIN, INTPTR_MAX: intptr_t 的最小值和最大值
    • UINTPTR_MAX: uintptr_t 的最大值
    • INTMAX_MIN, INTMAX_MAX: intmax_t 的最小值和最大值
    • UINTMAX_MAX: uintmax_t 的最大值

这些常用类型和函数提供了在特定位宽下确定大小和精确度的整数类型,同时还提供了这些类型的最小值和最大值常量以及用于创建整数常量的宏定义。这些工具通常用于需要确切大小和精确位宽的数据表示的场景。