如果我们有位掩码 - > “00101101” 变量i = 4
如果我们这样做(1<< i)|位掩码那么位掩码会发生什么?
谢谢。
答案 0 :(得分:4)
你的问题是:
如果我们这样做(1<< i)|那么位掩码会发生什么?
嗯,bitmask
涉及一个声明,其副作用不会影响bitmask
本身。
因此,bitmask
没有任何反应,它确实存在00101101
。
答案 1 :(得分:0)
所以你有:
unsigned int i = 4;
你做了:
1 << i;
这会使1
超过4个二进制位,然后执行:
i | bitmask;
这在逻辑上返回unsigned int
,其中第4位设置加上1
中的所有bitmask
位(保持不变)设置。
答案 2 :(得分:0)
i = 4,1 <&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; 4&lt; 4 reults 10000 ====&gt; 16