格式化输出:
- %d – 输出十进制整数
- %c – 输出一个字符
- %s – 输出一个字符串
- %f – 输出一个小数
- %p – 它表示以十六进制的形式(带小写的前缀)输出数据的地址
整数
-
Linux:
short: 2个字节
int: 4个字节
long: 8个字节 -
Windows:
short: 2个字节
int: 4个字节
long: 4个字节 -
%hd – 输出 short int 类型的数据
-
%d – 输出 int 类型的数据
-
%ld – 输出 long int 类型的数据
-
sizeof() – 用来获取某个数据类型的长度
不同进制、有无符号整数输出
无符号数 – 表示 数的所有位都表示数
有符号数 – 表示 数的左边第一位是符号位,其余位是数值位
整数怎么在内存中存储
1、原码 – 将一个整数转换成二进制形式
2、反码 – 正数的反码和原码一样;负数的反码:将原码中除符号位以外的所有位(数值位)取反,也就是 0 变成 1,1 变成 0。
3、补码 – 正数的补码就是原码;负数的补码:是其反码加 1。
**注意:**整数在内存中存储,就是用补码进行存储
无符号数存储 – 补码和原码一致
有符号数存储 – 正数的补码和原码一致,负数的补码要进行转换
负数在存储之前,先转换为补码进行存储
整数的取值范围以及数值的溢出
short、int、long 的长度分别是 2、4、4 或者 8,它们只能存储有限的数值,当数值过大或者过小时,超出的部分会被直接截掉,数值就不能正确存储了,我们将这种现象称为溢出。
-
无符号数的取值范围:
1字节:0-255(2^8-1)
2字节:0-65535(2^16-1) -
有符号数的取值范围
1字节:
-128存储的时候,其补码是:10,000,000
0存储的时候,其补码是:00,000,000
其余字节大小,举一反三