C++ | 二进制小数以及对异域的理解

本文详细介绍了C++中二进制小数的表示限制,以及异或运算的概念和用途。从掩码到位操作的实践应用,包括设置、清除、切换位和检查位值的方法,全面解析位操作在编程中的重要作用。
摘要由CSDN通过智能技术生成

注:我们默认1个字节用8个位 ,编号分别为7~1。

1.二进制小数

实际上,二进制表示法只能精确地表示多个1/2的幂的和,如3/4, 7/8,而1/3, 2/5等是无法精确表示的。

2.对异或的理解

粗暴理解就是男性和女性能生出孩子,否则就不行。不允许共存。

异或运算其实就是半加器运算,不进位

0 xor 0 =0

0 xor 1 =1

1 xor 1 =(1) 0

1 xor 0 =1

异或实际上就是判断两个输入逻辑值是否不同,如果不同则结果为1,相同则为0。若a=0,b=0,a异或b 两数相同,输出结果为0,结果与b相同;

若a=0,b=1,a异或b 两数不同,输出结果为1,结果与b相同;

若a=1,b=0,a异或b 两数不同,输出结果为1,结果与b相反;

若a=1,b=1,a异或b 两数相同,输出结果为0,结果与b相反;

3.用法:掩码

按位运算符常用于掩码(mask),所谓掩码指的是一些设置为开(1)或关(0)的位组合。

为什么叫其为掩码呢?

我们把一个量与掩码结合后发生什么情况:

例如:假设定义符号常量mas为2(即,二进制形式为00000010),只有1号位是1,其他位都是0

flag =10010110b

flags = flags & mark;

把flags中除1号位以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值