こんにちは、私が直面している問題を示すために小さなプログラムを書きました
long n;
n = 1; //1=0001 //2=0010 //-2=1101
Console.WriteLine(n+" "+ ~n);
Console.WriteLine(n+~n);
出力は次のようになります。
1 -2
-1
私が知っているように、〜記号は同じ負の数を与える必要がありますが、次のリンクによると、取得している数は常に元の数よりも1つ多く、取得する必要がある答えは同じである必要があり、否定を追加すると元の数値に、別の数値ではなく 0 を取得する必要があります http://visualcsharptutorials.com/reference/converting-negative-numbers-to-binary
誰がそれの何が悪いのか教えてもらえますか? 私は.net 4.5、c#5.0、vs 2012を使用しています