使用队列进行输入输出,超过11行之后数字结果就开始不对了,希望有人可以讲解一下感谢
看看你的代码,是否存在数组越界的问题。
确实要看代码才行
有两个int型的变量a和n(0 <= n <= 31), 要求写一个表达式,使该表达式的值和a的第n位相同。
该表达式能取出a的第n位。
解法1: (a>>n) & 1
有两个int型的变量a和n(0 <= n < 31), 要求写一个表达式,使该表达式的值和a的第n位相同。 如果n<31,可以有另一个答案
(a&(1<<n)) >>n
当n=31时,这个答案不对,如果符号位为1, a&(1<<n) 得到1000… 此时右移n位,前面全会补符号位1,就不是想要的答案了。
位运算十分重要,因为可以大大提高程序的运算速度,一些情况下,可以保证程序在OJ上提交时,不会超时。