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本身以這種方式工作 –