在 Linux 系统中,stdint.h
是一个标准的头文件,它提供了一组固定宽度整数类型
int8_t
:一个有符号 8 位整数,取值范围是 -128 到 127。uint8_t
:一个无符号 8 位整数,取值范围是 0 到 255。int16_t
:一个有符号 16 位整数,取值范围是 -32,768 到 32,767。uint16_t
:一个无符号 16 位整数,取值范围是 0 到 65,535。int32_t
:一个有符号 32 位整数,取值范围是 -2,147,483,648 到 2,147,483,647。uint32_t
:一个无符号 32 位整数,取值范围是 0 到 4,294,967,295。int64_t
:一个有符号 64 位整数,取值范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。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;
}