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.