目录
原码、反码、补码
①、计算机输出的二进制数都是补码。
②、正数的原码、反码、补码都是一样的;
如:13的1字节原码、反码、补码均为0000 1101;
③、负数反码符号不变,其他均取反,补码=反码+1;符号位数值化了,负数用1,正数用0;
如:-13的1字节原码为1000 1101;1字节反码为1111 0010;1字节补码为1111 0011;
++、--的前置与后置
①前置:++a表示先++,后使用a;--a表示先--,后使用a;
②后置:a++表示先使用a,再++;a--表示先使用a,再--;
按位与/或和逻辑与/或的区别
①按位与/非用于二进制数的计算;&、|
如:0011&0110=0010(全1为1,有0为0);0011|0110=0111(有1为1,全0为0);
②逻辑与/或的计算结果是1和0,即True and False;&&、||,常用于表达式中作为判断条件;
非0的都为真,即都是1;
关键字:变量名不能与之相同;
auto自动变量
auto自动变量==局部变量,通常直接定义局部变量的类型,省略auto关键字;
typedef类型重定义
extern声明调用外部
extern可用于调用该文件外的另一个文件的内容;
static 修饰变量、函数
修饰局部变量:局部变量的生命周期变长;修饰全局变量:改变变量的作用域,让静态全局变量只能在自己的源文件中使用;
修饰函数:改变了函数的链接属性,由外部链接属性转为内部链接属性;
#define 定义标识符常量和宏
宏:带参数的标识符常量;
指针
指针是一个用来存放地址的变量。
指针大小在32位平台是4个字节,在64位平台是8个字节;