文档章节

c++位运算及相关操作

太空堡垒185
 太空堡垒185
发布于 2017/06/20 21:49
字数 306
阅读 25
收藏 0

在c++中,经常会对具体整型数据的位进行操作。例如:要获取整数12(0B1100)在第1位上数值(为0),第2位上数值(为1),第3位上数值(为1)。在此,我使用位操作符中的“&”进行读取。

因为整数中的1,2,4,8(2^n  n=0,1,2,3,4.....)用二进制表示分别为0B0001,0B0010,0B0100,0B1000,保证了只有一位为1,其余均为0的特性,可以“过滤”出特殊位置出的数值。

int i(12);    //0x1100
int j01 = (12 & 4) / 4;    //(0x1100 & 0x0100) / 0x0100
int j02 = (12 & 8) / 8;    //(0x1100 & 0x1000) / 0x1000
...
//输出j01,j02
j01为1,
j02为1

在c++中,可以对二进制、八进制、十六进制数直接进行操作,只需在赋值时标明进制,0B或0b,0,0x。

    quint16 i = 0b110010;
    qDebug()<< "i = " << i <<endl;

    quint16 i01 = 017224;
    qDebug()<< "i01 = " << i01 <<endl;

    quint32 i02 = 0x3F1;
    qDebug()<< "i02 = " << i02 <<endl;


结果:

    i =  50 

    i01 =  7828 

    i02 =  1009 

 

© 著作权归作者所有

上一篇: 策略模式
太空堡垒185
粉丝 9
博文 140
码字总数 47696
作品 0
西安
系统管理员
私信 提问
优秀程序员不得不知道的20个位运算技巧

一 提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入 适当的位运算也会让您的程序增加...

lizuochao
2012/12/12
56
0
C++ Primer 学习笔记(第四章:表达式)

C++ Primer 学习笔记(第四章:表达式) [TOC] 4.1 基础 左值和右值: 当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。...

ShawnLue
2015/08/20
44
0
c++学习总结:获取13位系统时间戳

在iOS中使用NSDate来处理时间相关的操作,这在iOS客户端开发中非常方便。如果中间层使用c++来写的话,为了保证中间层代码的纯净,不能在c++中混编OC代码,这时候就要使用c++的方法来产生13位...

召唤攻城狮
2014/05/29
3.1K
0
开源的系统级编程利器:D语言

在Digital Mars公司的D语言首 页上,放置着这样一段话“计算机编程语言门类众多,其来源大致可分为两种途径。一类新语言来自于极具创新精神的学术界;而一类则源于关注研发结合和互联网 的新...

小卒过河
2011/10/11
4.9K
21
C语言/C++编程学习之二进制原码、反码和补码

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/05/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
10
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
6
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
11
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部