实例详解C语言学习中位运算的运用技巧

实例详解C语言学习中位运算的运用技巧_第1张图片

按位与

按位异或

按位取反

左移右移

C语言位运算

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

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

按位与&

&运算常应用于:

迅速清零

保留指定位

判断奇偶性

a & 1 = 1;则a为奇数

b & 1 = 0;则a为偶数

实例详解C语言学习中位运算的运用技巧_第2张图片

按位或|

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

实例详解C语言学习中位运算的运用技巧_第3张图片


实例详解C语言学习中位运算的运用技巧_第4张图片

小编推荐一个学C语言/C++的学习裙【 六二七,零一二,四六四 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

按位异或^

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

按位异或作用:

1.定位反转

2.交换数值

//交换a和b的值

实例详解C语言学习中位运算的运用技巧_第5张图片

按位取反~

左移、右移

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

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

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

实例详解C语言学习中位运算的运用技巧_第6张图片

你可能感兴趣的:(实例详解C语言学习中位运算的运用技巧)