> 数学 >
关于逻辑运算.
我的理解是 7&8的值为1(真);但是看到一个表达式:x = x&(x-1),会将x用二进制表示时最右边的一个1变为0,因为x-1将会将该位(x用二进制表示时最右边的一个1)变为0.这该如何理解?
人气:361 ℃ 时间: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位整数
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版