温馨提示×

Linux stdint.h如何定义整数类型

小樊
81
2024-09-21 20:37:18
栏目: 智能运维

在 Linux 系统中,stdint.h 是一个标准的头文件,它提供了一组固定宽度整数类型

  1. int8_t:一个有符号 8 位整数,取值范围是 -128 到 127。
  2. uint8_t:一个无符号 8 位整数,取值范围是 0 到 255。
  3. int16_t:一个有符号 16 位整数,取值范围是 -32,768 到 32,767。
  4. uint16_t:一个无符号 16 位整数,取值范围是 0 到 65,535。
  5. int32_t:一个有符号 32 位整数,取值范围是 -2,147,483,648 到 2,147,483,647。
  6. uint32_t:一个无符号 32 位整数,取值范围是 0 到 4,294,967,295。
  7. int64_t:一个有符号 64 位整数,取值范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
  8. uint64_t:一个无符号 64 位整数,取值范围是 0 到 18,446,744,073,709,551,615。

这些类型在 stdint.h 中定义如下:

#ifndef __STDC_CONSTANT_MACROS
#define __STDC_CONSTANT_MACROS
#endif

#include <stddef.h>
#include <stdint.h>

要使用这些类型,只需在代码中包含 stdint.h 头文件即可:

#include <stdio.h>
#include <stdint.h>

int main() {
    int8_t a = 127;
    int16_t b = 32,767;
    int32_t c = 2,147,483,647;
    int64_t d = 9,223,372,036,854,775,807;

    printf("a: %d\n", a);
    printf("b: %d\n", b);
    printf("c: %d\n", c);
    printf("d: %lld\n", (long long)d); // 使用 %lld 格式化输出 int64_t 类型

    return 0;
}

0