@xudongh
2016-09-28T17:53:54.000000Z
字数 912
阅读 2627
计算机
c有多种数据类型。基本的数据类型分为两大类:整数类型和浮点数类型。
类型 | 数据类型 | 转换说明 | 例子 | 说明 |
---|---|---|---|---|
字符/无符号字符 | char/unsigned char | %c | 'a' | |
整型/无符号整型 | int/unsigned int/unsigned | %d | 12 | 有符号:-32768~32768;无符号:0~65535;单独使用unsigned相当于unsigned int |
长整型 | long/long long | %ld/%lld | 6L/6LL | long:-2147483647~2147483647 |
无符号长整型 | unsigned long/unsigned long long | %lu/%llu | unsigned long:0~4294967295 | |
短整型 | short/unsigned short | %d | ||
八进制整型 | int/unsigned int | %#o/%o | 03、044 | %#o输出时数字带有“0”,%o输出时数字不带有“0” |
十六进制整型 | int/unsigned int | %#x/%x | 0x3、0x44 | %#x输出时数字带有“0x”,%x输出时数字不带有“0x” |
单/双精度双浮点数 | float/double/long double | %e/%f%/a | 7.0、2.3E07、0x5.6p12 | %e以指数形式输出、%f以小数形式输出、%a以十六进制和p-计数法输出 |
精确宽度整数类型
这些类型名定义在stdint.h头文件中。例如,int32_t表示32位的有符号整数类型。在使用32位int的系统中,头文件会把in32_t作为int的别名。不同的系统也可以定义相同的类型名。例如,int为16位、long位32位的系统会把int32_t作为long的别名。
类型 | 数据类型 | 说明 |
---|---|---|
32位有符号整型 | int32_t | |
16位有符号整型 | int16_t | |
... | ... |
最小宽度类型
一些类型名保证所表示的类型一定是至少有指定宽度的最小整数类型,这组类型集合被称为最小宽度类型。
类型 | 数据类型 | 说明 |
---|---|---|
可容纳8位有符号整型中宽度最小的类型 | int_least8_t | |
... | ... |
最快最小宽度类型
可是计算达到最快的类型集合。
类型 | 数据类型 | 说明 |
---|---|---|
对8位有符号值而言运算最快的整型 | int_fast8_t | |
... | ... |