整型
个人计算机常见设置
short |
int |
long |
long long |
16 |
16/32 |
32 |
64 |
C标准(规定atLeast大小)
|
short |
int |
long |
long long |
unsigned short |
unsigned int |
unsigned long |
unsigned long long |
16 |
-32768~32767(16) |
-32768~32767(16) |
|
|
|
|
|
|
32 |
|
|
-2147483648~2147483647(32) |
|
0~65535(16) |
0~65535(16) |
0~42949672945(32) |
|
64 |
|
|
|
-9223372036854775808~9223372036854775807(64) |
|
|
|
0~18446744073709551615(64) |
1. unsigned类型
2. 需要用到32bit空间 long 对于long>int 的机器,long运算速度会减慢,如非得已不要使用;对于long = int,为了可移植性,也该用long
3. 需要用到64bit空间 long long
4. 在int 为32bit系统中用到16bit空间 short 节省空间 计算机中某些组件的硬件寄存器为16bit
整型常量
编译器将其实现为恰能储存的类型 默认为int
通常:int-> unsigned int->long->unsigned long->long long->unsigned long long若需指明储存类型 添加后缀 65534L
整型溢出
汽车里程表
TYPE |
int |
unsigned |
溢出 |
从-2147483648开始 |
从0开始 |
char类型
技术层面,char 为整型,计算机将整型数字转换为字符
字符常量‘ABCD…’
它们对应的整型值(16/32bit)截断操作(剩下后8bit)储存进char(8bit)类型
浮点类型
8bit |
24bit |
表示指数值及其符号 |
表示非指数部分(又叫做尾数或有效数字)值及其符号 |
一般情况
|
float |
double |
long double |
大小(bit) |
32 |
64 |
128 |
atLeast有效数字 |
6 |
10(一般为13) |
18 |
浮点常量
默认为double类型
浮点数溢出
上溢 |
数字过大,超过当前类型表达范围,显示为 inf |
下溢 |
数字过小,超过当前类型表达范围,指数部分已经最小,把尾数往右移➡️,丢弃后面的二进制数 |
printf()(其实并没有专门显示float类型的转换说明,传参或表达式中将float默认转换为double)
float |
%f / %lf |
double |
%f / %lf |
long double |
%Lf |
数据类型限制信息

