本篇文章介绍的是整型变量的占位符,字节以及取值范围是怎么来的
字节
储存单元的大小称为一个字节(byte)
字节是计算机储存容量的基本单位
每个字节由8个二进制位(bit)组成
占位符
占住一个位置表示这里有输入或者输出 %d %f...
如下图绿色方框部分
scanf是输入函数值
你用什么把占位符隔开的
你输入的时候就要用什么隔开
printf是输出函数
在双引号里你用什么把占位符隔开的 输出的时候就是用什么隔开
如下图
整型字节
int字节 有时编译器和系统的差异会导致int字节不同
如下图win系统int字节是4(原来是2byte)
有符号
有符号基本整型 int 2字节 16位
有符号短整型 shirt/(short int) 2字节 16位
有符号长整型 long/(long int) 4字节 32位
无符号
无符号基本型 unsigned 2字节 16位
无符号短整型 unsigned short 2字节 16位
无符号长整型 unsigned long 4字节 32位
有些人可能忘了sizeof运算符(计算字节)
看看下图是否能让你回忆起来
整型类型 | 取值范围 |
---|---|
int | -32768~32767 |
short | -32768~32767 |
long | -2147483648~2147483 |
unsigned int | 0~65535 |
unsigned short | 0~65535 |
unsigned long | 0~4294967293 |
取值范围怎么来的(计算机用补码储存数据)
拿short举例 16bit(2进制位)
0000000000000000~0111111111111111=2^15-1=32768
unsigned short 16bit
0000000000000000~1111111111111111=2^16-1=65535
这两者的区别是
unsigned short把原本储存符号的第一个2进制位(bit)用来储存数据了
也许有些人见过unsigned long long
不用慌这只是给unsigned long增加范围的