位运算

位运算

 

真假判断:不是0就是真
三目运算:a>10?printf(“大于10\n”):printf(“小于10\n”);printf()有返回值   ':'两边须有返回值
 
进制定义八进制 int num=012;print(“%o\n”,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\n",a&b);

    if(a&1){

        printf("jishu");

    }else{

        printf("oushu\n");

    }

posted on 2015-03-11 20:47 CodeVector 阅读(...) 评论(...) 编辑 收藏

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页