关于逻辑运算.
我的理解是 7&8的值为1(真);但是看到一个表达式:x = x&(x-1),会将x用二进制表示时最右边的一个1变为0,因为x-1将会将该位(x用二进制表示时最右边的一个1)变为0.这该如何理解?
人气:373 ℃ 时间:2020-05-24 05:55:05
解答
7的二进制表示为0111,8的为1000这两个数据做与运算结果是0000,是假,但7&&8是真.
x=x&(x-1);不一定会实现将x的二进制最低位变为0,变为0的方法是x=x&(0xfffffffffffffffe),这里假设x是32位整数
推荐
猜你喜欢
- 已知CO2气体管道的体积和压强,怎么计算CO2的质量?
- 在进行“探究影响鼠妇分布的环境因素”的活动时,所用的科学实验研究方法是?
- Fe3O4变Fe化学方程式
- 已知集合M={0,2,4},定义集合p={X|X=ab,a∈M,b∈M},求集合p
- ———— to complete so much work in just two days,he felt stressed out.A.Having been askedB.Having askedC.To ask D.To be as
- 数学日记,数学论文各一篇 急~~~~~
- 某部队执行任务,以每小时8千米的速度前进,通讯员在队伍正中间接到任务后,以每小时12千米的速度传到队头
- 电流做功的多少与电功率有关吗