位运算

1.按位与 &

用途:取(或保留)一个数的某些位,其余位置为0

移位操作 :mask = 0xf << n

清零操作 :mask = ~(0xf << n)

2.按位或 |

用途:将一个数的某些位置置1 ,其余各位不变

0xf << n(4位写1)

3.按位异或^

用途 :使一个数的某些位置翻转或者取反(原来的1变为0 ,原来的0变为1),其余位不变

交换a和b的值的方法: 1) a = a^b; b=a^b; a = a^b;

                                           2)   a = a+b; b = a - b; a = a - b;

4.按位取反 ~

用途: 间接的构造一个数,以增强程序的可移植性

例如: 32写1 :  ~0x0

5. 按位左移  <<

规则: 左移n位 相当于 乘上2的n次方

6. 按位右移 >>

规则 :低位舍弃,高位分情况

对于正数 ,补上0

对于有符号的负数,补0称为逻辑右移,补1称为算术右移,成为符号位扩展

不同长度数据间的位运算(低字节对齐,高字节补位,规则用符号位扩展的规则)

位段:

1)标志为0意味着从下一个字节开始存储

2)将一个字节分为八位存储

3)  使用结构体

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值