Jam*_*ter 1 c bit-manipulation bitwise-operators
在引用逐位运算符时,有什么区别!和〜?我觉得他们都翻了一下,但是1可能会给最后的答案增加1分?
~0xC4
compared to
!0xC4
Run Code Online (Sandbox Code Playgroud)
谢谢!
!
它不是一个按位运算符,它是一个布尔运算符.
布尔运算符通常用于真值int
.任何非零值都为true,而0为false.结果总是1
为真,0
对于假.
!
不是布尔值&&
是布尔和||
是布尔值还是这些是例如if
因为它需要布尔值所使用的.布尔和/或运算符也是短路的,这意味着它们在结果已知时停止评估.这很好,它意味着1 || crash_and_burn()
永远不会崩溃和燃烧.
但是,在促销之后,当然,按位运算符对整数类型参数的每个位进行操作.
~
是不是&
是按位的|
是按位还是^
是有点冒犯 - 或(xor)按位运算符(当然)不是短路的,因为它们只是在位对上运行,所以没有任何意义.请注意,虽然有一个^
按位运算符,但没有^^
布尔值xor运算符.