入力として与えられた10進数の補数を見つける必要があります。私はこれを行うとき、まず私は、入力として8を与えたときに、たとえば、変な答えを得る1の補数を得る方法
int onesComplement= ~(int.parse(binRep)),
、その後、次のコードを使用して進数10進数、
int decNum = int.Parse(Console.ReadLine());
string binRep = " ";
int digi = 0;
do
{
digi = decNum % 2;
binRep = digi.ToString() + binRep;
decNum = decNum/2;
} while (decNum >= 1);
Console.WriteLine(binRep);
を変換するIバイナリ数として1000を取得しますが、補数を得るためにチルダ(〜)を使用した後は-1001が得られます。私はここで何が欠けているのかを知りたいです。そして、人の補完を正しく得るためにはどうすればいいですか?
そのコードはCではありません。 – interjay
@interjay:ねえ、十分に近いですか? (C#にタグ付けされています) – user7116
ビットトゥイリングを行っている場合は、符号なしタイプを使用してください。 –