2
为什么C#的按位运算符NOT
返回(the_number*-1)-1
?C#NOT(〜)位运算符返回负值
byte a = 1;
Console.WriteLine(~a); //equals -2
byte b = 9;
Console.WriteLine(~b); //equals -10
// Shouldn't a=0 and b=6?
我该如何在C#中执行此操作?
9 = 0b1001 -> NOT
= 0b0110 = 6
你知道'byte'有8位,因此二进制表示为9是0b00001001? – Timbo
-2实际上是正常的,因为ints使用...呃,@ knittl只是在下面说的。 – Shark
这不是特定于C#的CPU本身以这种方式工作 –