你好我写了一个小程序来演示我面临的问题
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