首页 > 其他 > 详细

普通位运算

时间:2020-02-29 10:21:21      阅读:63      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>

int main(void)
{
    //定义一个无符号字符型变量,此变量只能用来存储无符号数

    unsigned char result;

    int a,b,c,d;
    a = 2;
    b = 4;
    c = 6;
    d = 8;

    //对变量进行“按位与”操作
    result = a & c;
    printf("result = %d\n",result );   //2

    //对变量进行“按位或”操作
    result = b | d;
    printf("result = %d\n",result );   //12

    //对变量进行“按位异或”操作
    result = a ^ d;
    printf("result = %d\n",result );   //10

    //对变量进行“取反”操作
    result = ~a;
    printf("result = %d\n",result );   //253

}

/**
    按位与(&)运算符:参加运算的两个运算符,如果都为1,则该位为1,否则为0
    按位或(|)运算符:两个相应位中只要有一个为1,则该位的结果为1.
    按位异或(^)运算符:参加运算的两个相应位,同号则结果为0(假),异号则结果为1(真)
    取反(~)运算符:他是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变为1,1变为0。

    注意点:
       --位运算符是对二进制按位进行运算,将十进制数转换为二进制然后按照进行上面的规则进行相关的操作。
       --位运算符中除了取反运算符外,其他的均为二目运算符,既要求两侧各有一个变量
       --位运算符是对字节或字节中的位进行测试、置位或者移位处理,这里字节或者字是针对c标准的char和int数据类型而言,因此,位操作不能用于float、double、long double、void及其他复杂类型
*/

 

普通位运算

原文:https://www.cnblogs.com/starshine-zhp/p/12381367.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!