输出为20,但我不了解其背后的逻辑。请任何人解释
router.get('/', send-every-day, (req, res) => {
//Your code
} );
router.get('/blah', send-every-day, (req, res) => {
//Your code
} );
router.get('/blahhh', send-every-day, (req, res) => {
//Your code
} );
答案 0 :(得分:1)
如果您阅读有关Bitwise and Bit Shift Operators的信息:-
一元按位补数运算符“〜”反转位模式;它可以应用于任何整数类型,每个“ 0”为“ 1”,每个“ 1”为“ 0”。例如,一个字节包含8位。将此运算符应用于位模式为“ 00000000”的值,会将其模式更改为“ 11111111”。
有符号的左移位运算符“ <<”向左移位位模式,而有符号的右移位运算符“ >>”向右移位位模式。位模式由左操作数给出,移位位置的数量由右操作数给出。无符号右移运算符“ >>>”将一个零移位到最左位置,而“ >>”之后的最左位置取决于符号扩展。
按位&运算符执行按位AND运算。
按位^运算符执行按位异或运算。
按位|运算符执行按位或运算。
以下程序BitDemo使用按位AND运算符将数字“ 2”打印到标准输出。
class BitDemo {
public static void main(String[] args) {
int bitmask = 0x000F;
int val = 0x2222;
// prints "2"
System.out.println(val & bitmask);
}
}