有符号整数和无符号整数
short,int,long,long long类型的变量,可以表示正数,也可以表示负数,称为又复活的整数类型。
unsigned short,unsigned int,unsigned long,unsigned long long类型的变量,只会被看作非负数,称为无符号的整数类型。
有符号整数的表示方式
将最左边的位(最高位)看做“符号位”符号位为0,则表示非负数,其绝对值就是除符号位以外的部分;符号位为1,就表示是负数,其绝对值是出符号以外的部分取反(0变1,1变0)后再加1.
将一个负整数表示为二进制的方法:1>设置符号位为1。2>其余位等于绝对值取反再加1
有些不同的数据类型之间是相容的,可以复制,这叫数据类型的自动转换。
int a=11.34;//int 定义整型变量,11.34会被自动转换为11后赋值给a(会将小数点后的数字直接抹去,而并非四舍五入)
int b=30;
double d=b;//d的值为30.0
字符类型到整型的 互相转换
字符型数据可以转换成整型数据
int k='a';//k的内容变为‘a’的ASCII码,即97
printf(“%d”,k);//输出:97
整型数据也可以转换为字符数据类型,但只会留下最右边的一个字节(第0位到第7位),其他字节丢弃
int n=98;
char k=n;//k内容变98,98是字符‘b’的ASCII码
printf("%c",k);//输出:b