-2
你好,我寫了一個小程序,以證明我面對補/負值不工作的權利
long n;
n = 1; //1=0001 //2=0010 //-2=1101
Console.WriteLine(n+" "+ ~n);
Console.WriteLine(n+~n);
問題和輸出是這樣的:
1 -2
-1
我知道〜應該給出相同的負數,但我得到的數字總是比原始數字 多一個根據以下鏈接我得到的答案應該是相同的,如果我加上否定原來的號碼我應該得到0而不是另一個號碼 http://visualcsharptutorials.com/reference/converting-negative-numbers-to-binary
誰能告訴我它有什麼問題嗎? 我使用.NET 4.5,C#5.0,VS 2012
「正如我所知〜標誌應該給出相同的負數」 - 你從哪裏得到這個想法? –
你應該再次閱讀那篇文章,你會發現你錯過了一個步驟。 – Jasper
什麼是錯誤的是,你不明白如何補碼數字如何工作。請閱讀。 –