具体来说,你能告诉我这行代码的作用:
int var1 = (var2 + 7) & ~7;
Run Code Online (Sandbox Code Playgroud)
谢谢
Vil*_*lx- 36
这是一种否定的否定.这意味着它在数字的每个位上执行二进制NOT运算符.例如:
int x = 15; // Binary: 00000000 00000000 00000000 00001111
int y = ~x; // Binary: 11111111 11111111 11111111 11110000
Run Code Online (Sandbox Code Playgroud)
当与&运算符结合使用时,它用于清除位.因此,在您的示例中,它意味着结果的最后3位var2+7设置为零.
正如评论中所指出的,它也用于表示析构函数,但在您的示例中并非如此.
| 归档时间: |
|
| 查看次数: |
661 次 |
| 最近记录: |