[英]How to use bitwise NOT operator with shift operator in C#?
我不明白这个表达式是如何工作的。
~(1 << 1) = -3
我所理解的是1 << 1的二进制值为10,基数为10的值。如何用NOT运算符得到-3? 移位运算符如何与NOT运算符一起使用?
按位逆运算符与此处的移位完全分开。
你已经开始输入10(二进制) - 它有一个完整的32位表示
00000000_00000000_00000000_00000010
因此,按位反转是:
11111111_11111111_11111111_11111101
...这是-3的二进制表示(32位二进制补码 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.