一:从屏幕上打印出二进制
使用biteset打印出二进制,用法
std::bitset<从低位开始要显示多少位>(要显示的变量)

#include "pch.h"
#include <iostream>
#include <bitset>//引用头文件biteset
int main()
{int a = (int)0b01111111'10111111'11011111'11101111;std::cout << std::bitset<32>(a) << std::endl;std::cout << std::bitset<16>(a) << std::endl;
}

下面看一个右移的例子

// 有符号
char a = (char)0b11111111;
a >>= 3;
std::cout << std::bitset<8>(a) << std::endl;
// 无符号
unsigned char b = (char)0b11111111;
b >>= 3;
std::cout << std::bitset<8>(b) << std::endl;

多数c++编译器右移的时候,如果这个数原本就是负数,那么就补1,如果原本就是正数,那么就补0,当然,也不绝对,这取决于具体编译器和操作系统两个因素,不过主要目的就是为了保持和原来的数的符号一致,关于更多位运算,应参考我的其他文章计算机系统-字/数字电路/数值表达/进制

额外说一下异或
异或在实际的应用场景是什么呢?
1.异或是用来统计两个数的差异的,比如上面这段代码,打印出00011110,其中1表示的就是差异

int a = (int)0b11111111;
int b = (int)0b11100001;
std::cout << std::bitset<8>(a^b) << std::endl;

2.如果a异或b等于c,那么a异或c一定等于b,b异或c也一定等于a,这个特性在加密技术上会有用,下面是使用异或ab互换

int a = 1;
int b = 2;
a = (b=(a^b))^a;//b=c,a=2;
b = b ^ a;std::cout << a << std::endl;
std::cout << b << std::endl;

C++自学13:位运算(std::bitset)相关推荐

  1. 【LeetCode学习计划】《算法-入门-C++》第13天 位运算

    文章目录 231. 2 的幂 前言 方法1:迭代 1.1 右移 1.2 左移 方法2:判断是否为最大的 2 的次幂的约数 方法3:提取最低位的1 3.1 减1 3.2 相反数 191. 位1的个数 方 ...

  2. excel二进制移位运算_Excel揭秘13:在Excel中实现位运算

    我们知道,计算机使用的是二进制计数法.也就是说,在计算机中的所有信息都是使用二进制来存储和处理的. 下表列出了我们熟悉的十进制数及与其相对应的二进制数: 位运算规则 在位运算中,"按位与&q ...

  3. 洛谷P1896 [SCOI2005]互不侵犯 状压dp+位运算

    题目链接:https://www.luogu.org/problem/P1896 题意:n*n的格子填数,每个数填放位置的周围(8个)不能有其他的数 n<=9 ,矩形状压 f[i][j][s], ...

  4. C++学习笔记-----用位运算实现加减乘除

    C++学习笔记-----用位运算实现加减乘除 原文:http://blog.csdn.net/sinat_35261315/article/details/72904945 数据在计算机内存中是以二进 ...

  5. 蓝桥备赛第一周2021.1.11 递归 枚举 位运算

    文章目录 递归实现指数型枚举 递归指数型枚举 方法1:肯定是2^n行,所以直接就是上一个动态m从0到n加一堆空行 方法2:以最新的值为n为结束,遇到为0的不输出,用完要恢复为0 递归实现排列型枚举 非 ...

  6. CodeForces - 1451E2 Bitwise Queries (Hard Version)(交互+构造+位运算)

    题目链接:点击查看 题目大意:给出一个长度为 n(n 保证了是 2 的幂次),每个数的范围在 [ 0 , n - 1 ] 的一个数组,现在要求通过有限次操作确定下来这个数组: 询问 a[ i ] xo ...

  7. Dreamoon Likes Sequences CodeForces - 1330D(组合数学+位运算)

    Dreamoon likes sequences very much. So he created a problem about the sequence that you can't find i ...

  8. 位运算使奇数+1 偶数-1_C ++程序打印从1到N的所有偶数和奇数

    位运算使奇数+1 偶数-1 Problem: Take input from the user (N) and print all EVEN and ODD numbers between 1 to ...

  9. 紫书搜索 习题7-4 UVA - 818 Cutting Chains 暴力+dfs判环+位运算

    题目链接: https://vjudge.net/problem/UVA-818 题意: 选几个圆环去open.然后该圆环和其他就断开了.然后用这些open的圆环去连接剩下的圆环[最后打开的会合上], ...

最新文章

  1. python使用statsmodels包中的adfuller函数执行增强迪基-福勒检验(ADF检验、augmented Dickey-Fuller test)、判断时间序列数据是否平稳
  2. 隋唐5s与linux的关系,我与Linux
  3. happen-before原则的理解
  4. jdbc mysql 存储过程执行失败_JDBC连接执行MySQL存储过程报空指针或权限错误
  5. DPM 检测源码分析
  6. Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1...
  7. 让Office无处不在——Office Web App初体验
  8. (26)基于cookie的登陆认证(写入cookie、删除cookie、登陆后所有域下的网页都可访问、登陆成功跳转至用户开始访问的页面、使用装饰器完成所有页面的登陆认证)...
  9. 大数据:新动力 新机遇 新途径
  10. 切向量,普通矢量,渐变
  11. Shell 获取服务器IP地址
  12. eMule电驴使用从入门到精通
  13. 第二十三讲 常用技术标准【2021年软考-高级信息系统项目管理师】
  14. Latex中求和符号的使用
  15. 蒲公英wifi怎么卸载干净_蒲公英WiFi广告怎么彻底删除
  16. 批发行业的各种提成方式
  17. phpstorm破解后,运行一段时间后突然有提示没有破解.
  18. 写博客,轻松拿大奖!博客征文第二期:那些年我们一起写过的代码
  19. android电视怎么打开网页,智能电视怎么浏览网页?这三款浏览器完美解决!
  20. 计算机基础课小论文,计算机基础课程论文参考文献大全 哪里有计算机基础课程参考文献...

热门文章

  1. c语言推箱子源代码及注释,求大神 解析推箱子源代码 要详细
  2. 玩游戏用什么轴的机械键盘好_机械键盘下的“轴”到底是什么?
  3. python 图片生成视频_python--通过cv2多张图片生成视频
  4. vb 软件时间限制_带时间限制的软件加密锁
  5. mysql 服务已经存在_windows下mysql主从同步时从服务器出现表已经存在解决办法
  6. android通知背景色,android – 更改通知RemoteViews背景颜色
  7. java便签小程序原码_localStorage实现便签小程序
  8. centos7.8离线安装gcc
  9. vuecli3 配置多个代理
  10. springboot 文件上传 设置文件大小配置