栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C语言】位运算符的计算

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言】位运算符的计算

1. 位运算符进行的是二进制的计算,而我们输入的一般是十进制,所以要先将输入的十进制的数转换为二进制再进行运算

   例如

#include
int main()
{
    int a=2,b=7;
    printf("%dn",a^b);
    return 0;
}

上面这段代码的运行结果为5,数字5转化为二进制为101,

a=2转化为二进制为10,b=7转化为二进制为111,所以位运算符是在二进制的情况下运算的

2. 位运算符的类型

    ~       按位取反

               当数为1时,取0,当数为0时,取1;

    &        按位与

              当两个数都为1时为1,两个数都为0时为0;

   ^         按位异或

              当两个数一个为1,一个为0时输出1,两个都为0或者两个都为1时输出0;
  |        按位或

             当两个数中有一个为1时就输出1,否则就输出0;

  >>     将十进制数转化为二进制数后,右移后,再转化为10进制的数

  <<    将十进制的数转化为二进制后,左移后,再转化为10进制的数

例如a=2,a的二进制数为10,则a<<1得到a=5,a的二进制数改变为100;

a>>1得到a=1,a的二进制数改变为1;

有错误的地方或者欠缺的地方还请指出;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/605151.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号