1.数据类型
1)整数类型:char( ) 1个字节
short( ) 2个字节
int( ) 4个字节 默认
long( ) 4个字节
longlong( ) 8个字节
unsigned( ) 无符号
signed( ) 有符号
2) 小数类型:float( ) 4个字节
double( ) 8个字节 默认
1字节=8位
1/0 | 1/0 | 1/0 | 1/0 | 1/0 | 1/0 | 1/0 | 1/0 |
可表示2^8=256种不同的数字
标准规定对于有符号数,最高位表示符号位,0为正,1为负
对于一个字节的类型:无符号取值范围为0~255,有符号取值范围为-128~127
short可表示2^16 约6万多种数字
int可表示2^32 约40亿多种数字
%c对应输出字符
%d对应输出数字
eg.
#include<stdio.h>
int main()
{
for(char i=0;i<=127;i++)
{
printf("%d\n",i);
}
}
本代码为死循环因为i的取值范围为-128~127
2.数值的表示
1)二进制
正数:直接是原码
负数:补码,原码取反后再加1
eg.
12 0 0 0 0 1 1 0 0
取反 1 1 1 1 0 0 1 1
加1 0 0 0 0 0 1 0 0 即-12
2)二进制转换十进制
先看符号 符号位为0即为正数,直接计算
符号位为1即为负数,将其先取反再加1再计算
3)小数的存放
一般使用double
如用float: float a=(float)12.3
float c=12.3f