C语言的位运算符

来源:互联网 发布:手绘画软件 编辑:程序博客网 时间:2024/06/04 01:24

位运算符逐位执行操作,包括 与或非,移位,异或 6种

#include <stdio.h>int main() {    unsigned int a = 60;    /* 60 = 0011 1100 */    unsigned int b = 13;    /* 13 = 0000 1101 */    int c = 0;    c = a & b;       /* 12 = 0000 1100 */    printf("Line 1 - c 的值是 %d\n", c);    c = a | b;       /* 61 = 0011 1101 */    printf("Line 2 - c 的值是 %d\n", c);    c = a ^ b;       /* 49 = 0011 0001 */    printf("Line 3 - c 的值是 %d\n", c);    c = ~a;          /*-61 = 1100 0011 */    printf("Line 4 - c 的值是 %d\n", c);    c = a << 2;     /* 240 = 1111 0000 */    printf("Line 5 - c 的值是 %d\n", c);    c = a >> 2;     /* 15 = 0000 1111 */    printf("Line 6 - c 的值是 %d\n", c);    return 0;}
Line 1 - c 的值是 12Line 2 - c 的值是 61Line 3 - c 的值是 49Line 4 - c 的值是 -61Line 5 - c 的值是 240Line 6 - c 的值是 15

可以发现

~A = -A - 1   /* 求补运算 */
0 0
原创粉丝点击