关于逻辑运算.
我的理解是 7&8的值为1(真);但是看到一个表达式:x = x&(x-1),会将x用二进制表示时最右边的一个1变为0,因为x-1将会将该位(x用二进制表示时最右边的一个1)变为0.这该如何理解?
人气:419 ℃ 时间: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位整数
推荐
猜你喜欢
- now what you have got to do is register with one of them
- 有大米和面粉750千克,用去大米的三分之一,和面粉的五分之三时,还剩420千克,运来面粉多少千克
- 一条公路,第一天修全长百分之20,第二天比第一天多5千米,这时已修与未修比1:1,求全长
- 松树的象征意义
- 质量为5kg的物体放在水平地面上,物体与地面间的动摩擦因数为0.2,现在某人用水平方向的力拉
- 文言文多多益善中,有活用现象的句子是?
- 设△ABC的内角A,B,C的对边分别为a,b,c,且A=120°,a=7,b+c=8,则△ABC的面积是_.
- 世界上最大最重的石头书?