📌  相关文章
📜  C 整数位数 - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:13:48.050000             🧑  作者: Mango

C 整数位数

在 C 编程语言中,整数的位数取决于使用的数据类型。这些数据类型需要包括足够的位来存储要表示的数字,同时还需要足够的位来存储正负号和其他标志位。下面是 C 编程语言中一些常用的整数数据类型及其位数:

  • char :1 字节(8 位)
  • short :2 字节(16 位)
  • int :通常为 4 字节(32 位)
  • long :4 或 8 字节(32 或 64 位)
  • long long :8 字节(64 位)

以上数据类型的具体位数取决于编译器和操作系统。

在实际开发中,我们应该选择适合我们应用的数据类型,以在存储数据时节省内存,提高效率。如果我们的应用需要存储一个很大的整数,我们可以使用 long long 类型。

下面是 C 语言中一些用于确定数据类型位数的宏:

#include <stdio.h>
#include <limits.h>

int main() {

    printf("char 存储大小 : %d 字节\n", sizeof(char));
    printf("short 存储大小 : %d 字节\n", sizeof(short));
    printf("int 存储大小 : %d 字节\n", sizeof(int));
    printf("long 存储大小 : %d 字节\n", sizeof(long));
    printf("long long 存储大小 : %d 字节\n", sizeof(long long));

    printf("char 最大值 : %d\n", CHAR_MAX);
    printf("char 最小值 : %d\n", CHAR_MIN);
    printf("signed char 最大值 : %d\n", SCHAR_MAX);
    printf("signed char 最小值 : %d\n", SCHAR_MIN);
    printf("unsigned char 最大值 : %d\n", UCHAR_MAX);
    printf("short 最大值 : %d\n", SHRT_MAX);
    printf("short 最小值 : %d\n", SHRT_MIN);
    printf("int 最大值 : %d\n", INT_MAX);
    printf("int 最小值 : %d\n", INT_MIN);
    printf("unsigned int 最大值 : %u\n", UINT_MAX);
    printf("long 最大值 : %ld\n", LONG_MAX);
    printf("long 最小值 : %ld\n", LONG_MIN);
    printf("unsigned long 最大值 : %lu\n", ULONG_MAX);
    printf("long long 最大值 : %lld\n", LLONG_MAX);
    printf("long long 最小值 : %lld\n", LLONG_MIN);
    printf("unsigned long long 最大值 : %llu\n", ULLONG_MAX);

    return 0;
}

输出:

char 存储大小 : 1 字节
short 存储大小 : 2 字节
int 存储大小 : 4 字节
long 存储大小 : 8 字节
long long 存储大小 : 8 字节
char 最大值 : 127
char 最小值 : -128
signed char 最大值 : 127
signed char 最小值 : -128
unsigned char 最大值 : 255
short 最大值 : 32767
short 最小值 : -32768
int 最大值 : 2147483647
int 最小值 : -2147483648
unsigned int 最大值 : 4294967295
long 最大值 : 9223372036854775807
long 最小值 : -9223372036854775808
unsigned long 最大值 : 18446744073709551615
long long 最大值 : 9223372036854775807
long long 最小值 : -9223372036854775808
unsigned long long 最大值 : 18446744073709551615

以上示例程序使用 sizeof 来确定不同数据类型的存储大小,并使用标准库头文件 limits.h 中定义的常量来确定它们的最大值和最小值。