1.算数类型包括整数类数据类型(字符型,整型,枚举型)和浮点型,字符型、整型和浮点型只需要关键字就可以表示其数据类型,因此称为基本数据类型。整型包括short、int、long三种,int型是最易处理,运算速度最快的。各类型能够表示的值的范围因编译器而不同,最大值和最小值在<limits.h>头文件中以对象式宏的形式定义。
2.使用类型说明符signed和unsigned来指定一种数据类型,若不加,int默认为有符号,char要看编译器。
3.使用sizeof运算符判断数据类型长度,各种数据类型的有符号和无符号长度相同,sizeof生成的值的数据类型是在<stddef.h>头文件中定义的size_t型,许多编译器用typedef声明来定义。type声明将已有数据a创建别名b,b将作为类型名使用。
typedef a b;
sizeof应用于数组可以得到数组的整体大小,还可以得到数组元素的个数。
sizeof(a)/sizeof(a[0]) ;
4.求两个整型操作数的按位逻辑与、逻辑或、逻辑异或的双目运算符分别是&、|、^。~是求整型操作数的反码的双目运算符。<<和>>是将整型操作数的位进行左移和右移的的位移运算符,不要对负数进行位移,因为编译器可能会执行逻辑位移或算数位移。
逻辑位移不考虑符号位,所有二进制都进行位移,负数位移后变为0或正数。
算数位移将符号位以外的位进行位移,用位移前的符号位来填补空位,左移后值变为原来的两倍,右移后值变为原来的二分之一。
5.创建一个函数计算形参x接收到的无符号整数中有多少个值为1的二进制位,并返回其个数
int count_bits(unsigned x)
{
int bits=0;
while(x)
{
if(x&1u)
bits++;
x>>=1;
}
return bits;
}