C++ 库 - <cinttypes>



C++ 中的<cinttypes>头文件提供了一组定宽整型和相应的限制。它用于确保跨不同平台的数据一致性,尤其是在处理整型时。它通过为整数指定大小来帮助缓解与整数溢出和下溢相关的问题。

<cinttypes> 头文件定义了几种定宽整型,它们提供特定数量的位。它们列在下面。

  • int8_t: 它是一个带符号整数类型,正好是 8 位宽。
  • uint8_t: 它是一个无符号整数类型,正好是 8 位宽。
  • int16_t: 它是一个带符号整数类型,正好是 16 位宽。
  • uint16_t: 它是一个无符号整数类型,正好是 16 位宽。
  • int32_t: 它是一个带符号整数类型,正好是 32 位宽。
  • uint32_t: 它是一个无符号整数类型,正好是 32 位宽。

这些类型提供了一种一致的方法来声明具有已知大小的整型变量。

包含 <cinttypes> 头文件

要在你的 C++ 程序中包含 <cinttypes> 头文件,可以使用以下语法。

#include <cinttypes>

<cinttypes> 头文件的函数

以下是 <cinttypes> 头文件中所有函数的列表。

序号 函数及说明
1 abs & imaxabs

它计算整数的绝对值。

2 div & imaxdiv

它计算整数除法的商和余数。

3 strtoimax & strtoumax

它将字符串转换为 std::intmax_t 或 std::uintmax_t。

4 wcstoimax & wcstoumax

它将宽字符串转换为 std::intmax_t 或 std::uintmax_t。

使用 int8_t 进行算术运算

在下面的示例中,我们将使用 int8_t(一个带符号的 8 位整数)作为两个变量,然后将它们加在一起并获取输出。

#include <iostream>
#include <cinttypes>
int main() {
   int8_t x = 11;
   int8_t y = 7;
   int8_t z = x + y;
   std::cout << "Result : " << static_cast < int > (z) << std::endl;
   return 0;
}

输出

上面代码的输出如下:

Result : 18
广告