题目:
位运算实例,已知一个正整数变量\(a\),对这个数的二进制数列进行下面的操作,依次使用位运算符号写出操作方式:
1)将最后一位的右边加上一个\(1\),例如\(101\)变为\(1011\)
答:将\(101\)左移一位,然后加\(1\),就是\((a<<1)+1\)
2)将最后一位变为\(0\),例如\(1010\)或者\(1011\)处理后都变成\(1010\)
答:直接变成\(0\) 不太好办,可以直接变成\(1\),然后再减去\(1\)变行了,就是构造一个数字\(1\),然后用\(a\)与\(1\)进行按位取或
,就把最后一位变成了1
,其它各位保留原来的样子:\((a|1)-1\)