美文网首页
1.位运算符-Bit

1.位运算符-Bit

作者: celusing | 来源:发表于2020-10-31 10:16 被阅读0次

前言:位运算符的使用方式有两种。1)基础使用方式;2)c++新增bitset类
1.基础使用
1)位运算符


位运算符.png

备注:
1.一般来说,如果运算对象是“小整型”,则会首先自动提升成较大的整型,然后做位运算;
2.位运算支持有符合和无符号整数,但是针对符号位的处理依赖于机器。故:强烈建议仅将位运算用于处理无符号整数类型。
3.移位运算符:
1)移除边界之外的位会被舍弃;
2)不足的位:会进行补0.

2.bitset类型
c++标准库定义了bitset类,使得位运算使用更容易。

include<bister>

using std::bitset;
1)定义和初始化
bitset<n> b; //b有n位,每位都为0;
bitset<n> b(u); //b是unsigned long型u的副本
bitset<n> b(s); //b是string对象s中含有n位字符串的副本
bitset<n> b(s, pos, n); //b是s中从pos位置开始的n个位置的副本
bitset<n> b(s,pos); //b从s的pos位置开始取值到s末尾(注取的值从b的右端开始)
注:①n定义的位数在初始化时按初始值填充,赋值超出的范围舍去,空余的以零填充.
②bitset从string对象读入位集时按从右到左的顺序.
2)方法
b.any(); //查找b是否存在1?
b.none(); //b中不存在1吗?
b.count(); //b中1的个数
b.size(); //b的位数
b[pos]; //访问b中pos处的数值
b.test(pos); //检测b中pos处是否为1
b.set(); //把b中所有位 置为1
b.set(pos); //把b中pos位置为1
b.reset(); //把b中所有位置为0
b.reset(pos); //把b中pos位置为0
b.flip(); //b中所有二进制位取反
b.flip(pos); //b中在pos处的二进制位取反
b.to_ulong; //返回一个同值得unsigned long值
os << b; //把b中位集输出

相关文章

  • 1.位运算符-Bit

    前言:位运算符的使用方式有两种。1)基础使用方式;2)c++新增bitset类1.基础使用1)位运算符 备注:1....

  • C++ 位运算符(bit)

    位运算符(bit) 位运算符作用于位,并逐位执行操作。&、 | 和 ^ 的真值表如下所示: 假设如果 A = 60...

  • 运算符

    算术运算符 赋值运算符 比较运算符 逻辑运算符 位(bit)运算 二进制: 八进制: 十六进制 进制运算有反码 补...

  • 基础运算符

    [使1. 按位与运算符(&](#1. 按位与运算符(&)[按位或运算符 | ](#2. 按位或运算符(|)) 1....

  • 高级运算符(Advanced Operators)

    目录 [toc] 位运算符 1. 按位取反运算符~ 2. 按位与运算符& 3. 按位或运算符| 4. 按位异或运算...

  • swift-位运算符

    1. 位取反运算符( ~ ) 位取反运算符(~ )是对所有位的数字进行取反操作 2. 位与运算符( &) 位与运算...

  • No41.浮点数近似规则

    名词 保留位(Guard bit)、近似位(Round bit)和粘滞位(Sticky bit)。保留位:近似后的...

  • 2018-07-17 python运算符

    运算符有:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符(针对二进制的每一位) 1.数学运算符(+、-、...

  • 汇编基础

    1. 数据存储的最小单位是:位(bit、b、比特),每个0或1就是一个位(bit)。8位 = 1字节(byte)...

  • day03总结

    运算符: 数学运算符、比较运算符、逻辑运算符、赋值运算、(位运算) 1. 数学运算符: +,-,,/,//,%,*...

网友评论

      本文标题:1.位运算符-Bit

      本文链接:https://www.haomeiwen.com/subject/decsvktx.html