Je dois trouver ceux de complément d'un nombre décimal donné en entrée. Tout d'abord je convertir le nombre décimal en un nombre binaire en utilisant le code suivant,Comment obtenir les complément à
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);
puis quand je le fais,
int onesComplement= ~(int.parse(binRep)),
Je reçois des réponses bizarres, par exemple quand je donne 8 comme entrée I obtenir 1000 comme le nombre binaire, mais après avoir utilisé le tilde (~) pour obtenir le complément, je reçois -1001. Je voudrais savoir ce qui me manque ici, et que dois-je faire de mieux pour obtenir son complément correctement?
Ce code n'est pas C. – interjay
@interjay: hey, c'est assez proche non? (reclassé en C#) – user7116
utiliser des types non signés si vous faites un peu twiddling. –