繁体   English   中英

如何在C#中使用带位移运算符的按位NOT运算符?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM