学习笔记(28):C语言 从小白到大神: 入门篇-位的概念以及位运算符介绍

立即学习:https://edu.csdn.net/course/play/8088/165752?utm_source=blogtoedu

1.位的概念

一个int型数据占4个字节的内存。一个char型数据占一个字节。

一个字节由8个二进制位组成。最左边的称为最高位,最右边的称为最低位;每一个二进制位的值是0或者1(二进制数,只有0,1两个数字,不能是其他数字);

 

2. 位运算符介绍:

(1)按位与运算符&:

参加运算的两个运算量,如果两个相应的位都为1,则该位的结果为1,否则为0;

(2)按位或运算符|:

参加运算的两个运算量,如果两个相应的位有一个为1,则该位的结果为1,否则为0;

(3)按位异或运算符^:

参加运算的两个运算量,如果两个相应的位相同,则结果为0,否则结果为1

如果某些位想翻转(从0变成1,从1变成0),那这个位可以和1做异或运算;

如果某些位想保留,那这个位可以和0做异或运算;

比如:有个二进制数,01111010,我们希望他低四位翻转,高四位保持不变。

01111010

00001111

------------------

01110101

(4)取反运算符~:

是单目运算符,只有一个运算量,用来对一个数字进行按位取反,也就是0变成1,1变成0;

(5)左移运算符  <<

将一个数的二进制位左移若干位,右侧补0;

每左移一位都相当于*2

unsigned  int tempvalue = 15 << 1;  //30

01111

---------

11110  = 30

(6)右移运算符 >>

将一个数的二进制位右移若干位,超出最低位的被舍弃,左边高位补0;

每右移一位都相当于除以2

(7)位运算符和赋值运算符可以结合使用,比如说:

&=    , |=     , >>=   ,<<=     , ^=   

如上所示,=总是在右边。

例:a  &= b  等价于  a = a & b;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值