Ciao a tutti devo fare un programma che faccia il complemento a due di un numero binario.
Ho scritto questo codice:
codice:
#include <stdio.h>
#include <stdlib.h>
int b,i;
main()
{
printf("Quanti bit vuoi utilizzare? : ");
scanf("%d",&b);
printf("Inserisci la cifra binaria di cui si vuole fare il complemento a 2\n");
int vett[b];
for(i=0;i<b;i++){
printf("Inserisci il valore %d della cifra binaria: ",i+1);
scanf("%d",&vett[i]);
if(vett[i]!=0&&vett[i]!=1){
printf("%c%c Il valore inserito non corrisponde ad una cifra binaria (0 - 1)%c%c\n",219,219,219,219);
printf("Inserisci il valore %d della cifra binaria: ",i+1);
scanf("%d",&vett[i]);
}
}
for(i=0;i<b;i++){
if(vett[i]==1){
vett[i]=0;
}
else{
vett[i]=1;
}
printf("La cifra binaria inserita dopo aver fatto il complemento a 1 %c : %d\n",138,vett[i]);
}
system("PAUSE");
}
Arrivato a questo punto riesco solamente ad invertire gli 0 in 1 e viceversa ma non so come sommare 1 alla cifra ottenuta dopo il complemento a uno in modo da fare il complemento a 2...avete qualche suggerimento?? Grazie per l'aiuto.
PS: Se non rispondo per un pò è perchè ho problemi alla connessione e spesso resta staccata anche per qualche ora.