//目标:有效代码3万行 量变引起质变
//算数操作符:+ - * /
//移位操作符:>> <<
//位操作符:&按位与 |按位或 ^按位异或
//赋值操作符:= += -= *= /= &= ^= |= >>= <<=
//整数在内存中存储的是补码
//一个整数的二进制有3种:例如 -1
//原码 最高位是符号位 10000000 00000000 00000000 00000001
//反码 符号位不变,其他取反 11111111 11111111 11111111 11111110
//补码 反码+1 11111111 11111111 11111111 11111111
//如果是正数,原码反码补码相同
#include <stdio.h>
int main(int argc, char* argv[])
{
int a =0; //0的补码00000000 00000000 00000000 00000000
printf("\r\n---------------------\r\n");
printf("~a =%d\r\n",~a); //按位取反(所有二进制位中的1变0,0变1) ~00000000 00000000 00000000 00000000=11111111 11111111 11111111 11111111
//补码11111111 11111111 11111111 11111111-->原码10000000 00000000 00000000 00000001
//printf打印%d的是原码,内存存储的是补码
printf("\r\n---------------------\r\n");
return 0;
}