#include<stdio.h>#include<limits.h>intmian(){printf("signed char min = %d\n", SCHAR_MIN);printf("signed char max = %d\n", SCHAR_MAX);printf("unsigned char max = %d\n", UCHAR_MAX);printf("signed short min = %d\n", SHRT_MIN);printf("signed short max = %d\n", SHRT_MAX);printf("unsigned short max = %d\n", USHRT_MAX);printf("signed int min = %d\n", INT_MIN);printf("signed int max = %d\n", INT_MAX);printf("unsigned int max = %u\n", UINT_MAX);printf("signed long min = %ld\n", LONG_MIN);printf("signed long max = %ld\n", LONG_MAX);printf("unsigned long max = %lu\n", ULONG_MAX);return0;}
在 main 函数中,使用了一系列的 printf 函数来打印各种类型的整数的最小值和最大值。这些整数类型包括有符号和无符号的 char、short、int 和 long。
例如,printf("signed char min = %d\n", SCHAR_MIN); 这行代码打印出有符号字符的最小值。SCHAR_MIN 是一个预处理宏,定义在 <limits.h> 头文件中,表示有符号字符的最小值。
➜ signed-and-unsigned ; exit;signedchar min =-128signedchar max =127unsignedchar max =255signedshort min =-32768signedshort max =32767unsignedshort max =65535signedint min =-2147483648signedint max =2147483647unsignedint max =4294967295signedlong min =-9223372036854775808signedlong max =9223372036854775807unsignedlong max =18446744073709551615
第二种的方法是使用按位运算,后文再提。
2.2.1 为什么需要数据类型
从生活中去理解,为什么需要? 小数,整数,qwert@,这种 只是举例。 怎么存储呢?
c 语言为了存储他们,进行了 “抽象”,来描述他们。
2.2.2 每一种类型的大小是多少
知道大小的用处是什么? 一个 bit 位里面,只能存 0 或者 1,空间大了,里面能存放的 xx个数 就能多些。空间越大,可以表示的数值的范围就越大,我们需要不同范围的数值的时候,我们就用不同类型来表示。