C语言位运算+实例讲解(转)

按位或

按位与

按位异或

按位取反

左移右移

C语言位运算

有6种: &, | , ^(亦或), >(右移)。

注意:参与位运算的元素必须是int型或者char型,以补码形式出现。

按位与&

&运算常应用于:

迅速清零

保留指定位

判断奇偶性

a & 1 = 1;则a为奇数

b & 1 = 0;则a为偶数

按位或|

按位或(“|”)用途:设定数据的指定位

按位异或^

异或 就是位相同等于零,相异等于1

按位异或作用:

1.定位反转

2.交换数值

//交换a和b的值

按位取反~

左移、右移

让二进制左移N位,高位丢弃,低位补0,得到的 新值 = 原值*2^N,

作用:实现二倍乘除运算(右移几位相当于除于二的几次方。左移几位,相当于乘上二的几次方。)

问题:int是有符号类型,左移可能会把符号左移出去,发生溢出。

 
原文地址:https://www.cnblogs.com/zhugeanran/p/8605606.html