C++位操作基本含义详解

开发 后端
C++位操作主要包括两种,一种为传统的C语言方式的位操作以及C++中利用bitset容器的位操作。在这里我们将会针对第一种方式进行详细介绍。

C++编程语言在开发人员眼中不仅仅是C语言的升级版本。其在功能上的扩展有更大的改进。我们今天就可以通过对C++位操作的基本概念的解析来充分掌握这方面的知识。并进一步加深对C++语言的了解程度。#t#

C++位操作包括两种:传统的C语言方式的位操作和C++中利用bitset容器的位操作

1.C++位操作基本操作:

使用一个unsigned int变量来作为位容器。

2.C++位操作操作符:

| 按位或操作符:result=exp1|exp2;当exp1和exp2中对应位中至少有一个为1时,result中对应位为1,否则为0。

& 按位与操作符::result=exp1&exp2;当exp1和exp2中对应位全为1时,result中对应位为1,否则为0。

^ 按位异或或操作符:result=exp1^exp2;当exp1和exp2中对应位不相同时,result中对应位为1,否则为0。

~ 反转操作符:将位容器中的所有位都反转,1变为0,0变为1。

<< 按位左移操作符:exp<<n,将容器中所有的位向左移n位,空出的位用0填充。

>> 按位右移操作符:exp>>n,将容器中所有的位向右移n位,空出的位用0填充。

|=,&=,^= 分别对应|&^三种操作符的复合操作符。

3.C++位操作常用操作

这里我们假设有一个result的unsigned int变量用来储存32个学生的成绩(通过和不通过分别用0和1),这样result就有33位(result从右至左,从0开始计算位数,在这个例子中0位被浪费)。

(a) 将第27位设置为及格(设作1)其他位不变:

result|=(1<<27) //任意的位值与1作按位或操作其值为1,而与0作按位与操作其值不变

(b) 将第27位设置成不及格(设为0)。

result&=~(1<<27) //任意的位值与0作按位与操作其值为0,而与1作按位与操作其值不变

(c) 反转第27位的值。

result^=(1<<27) //任意的位值与1作按位异或操作其值为1,而与0作按位异与操作其值不变

以上就是对C++位操作的基本概念介绍。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-02-02 10:33:22

C++引用

2010-02-02 15:30:05

C++ include

2010-02-01 17:24:41

C++循环语句

2010-02-06 14:04:58

C++内存使用机制

2021-06-18 06:31:55

PyTorchPython深度学习

2010-02-01 15:59:09

C++逗号操作符

2023-10-12 09:58:45

操作符C++

2021-12-21 15:31:10

C++语言指针

2011-04-20 09:50:45

Virtual

2010-02-03 13:26:53

C++计时

2010-02-02 11:16:28

C++异常

2023-11-09 23:56:21

2010-02-05 10:23:09

C++基本函数

2010-01-18 16:17:53

C++代码

2024-01-22 10:49:55

C++for循环

2016-10-20 16:07:11

C++Modern C++异步

2010-02-05 12:57:20

C++ kdevelo

2010-02-03 13:22:07

C++时间

2010-02-02 13:57:31

C++解析#pragm

2011-03-30 17:20:18

C++引用
点赞
收藏

51CTO技术栈公众号