真假判断:不是0就是真
三目运算:a>10?printf(“大于10
”):printf(“小于10
”);printf()有返回值 ':'两边须有返回值
进制定义八进制 int num=012;print(“%o
”,num); 占位符o 0x
int a=5;四个字节,每个字节有8位;
00000000 00000000 00000000 00000101
00000000 00000000 00000000 00010001
00000000 00000000 00000000 00010100
位运算:
1. & 与
2. | 或
3. ^ 异或(满足交换律)
4. ~ 非
5. >> 右移(补零)
6. << 左移
应用实例:
a^a=0,a^0=a;
a<<b == a*2b次方
9>>2 除四取整
用位异或运算进行两数交换
int a = 2, b = 3;
我们去掉多余的 0 仅用一个字节表示数字
内存中 a = 00000010, b = 00000011;
a=a^b;
a = 00000001;
b=a^b;
b = 00000010;
a=a^b;
a = 00000011;
两数字交换完毕。
位运算判断奇偶数
奇数 与 1,得1, 偶数 与 1 得 0.
int a = 5, b=6;
printf("%d ",a&b);
if(a&1){
printf("jishu");
}else{
printf("oushu ");
}