Linux stdint.h如何定義整數(shù)類型

小樊
81
2024-09-21 20:37:18

在 Linux 系統(tǒng)中,stdint.h 是一個(gè)標(biāo)準(zhǔn)的頭文件,它提供了一組固定寬度整數(shù)類型

  1. int8_t:一個(gè)有符號(hào) 8 位整數(shù),取值范圍是 -128 到 127。
  2. uint8_t:一個(gè)無(wú)符號(hào) 8 位整數(shù),取值范圍是 0 到 255。
  3. int16_t:一個(gè)有符號(hào) 16 位整數(shù),取值范圍是 -32,768 到 32,767。
  4. uint16_t:一個(gè)無(wú)符號(hào) 16 位整數(shù),取值范圍是 0 到 65,535。
  5. int32_t:一個(gè)有符號(hào) 32 位整數(shù),取值范圍是 -2,147,483,648 到 2,147,483,647。
  6. uint32_t:一個(gè)無(wú)符號(hào) 32 位整數(shù),取值范圍是 0 到 4,294,967,295。
  7. int64_t:一個(gè)有符號(hào) 64 位整數(shù),取值范圍是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
  8. uint64_t:一個(gè)無(wú)符號(hào) 64 位整數(shù),取值范圍是 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