Programma che somma numeri binari senza utilizzare array o la conversione

di il
17 risposte

17 Risposte - Pagina 2

  • Re: Programma che somma numeri binari senza utilizzare array o la conversione

    Sì ma la stringa è un array. Secondo me va bene come ha risolto
  • Re: Programma che somma numeri binari senza utilizzare array o la conversione

    Spero che alla fine ce lo facciano sapere che sono curioso di sapere cosa volesse il prof
  • Re: Programma che somma numeri binari senza utilizzare array o la conversione

    Finalmente sono spuntate soluzioni. Vedete se vi piace la mia (concettualmente simile a quella di pigreco00). Ho limitato a 4 bit, ma basta aumentare la costante. Per il controllo sull'inserimento basta un if e un return (o un break) nel while.
    
    #include <stdio.h>
    #define N_BITS 4
    
    int main(int argc, char *argv[])
    {
        unsigned int n1;
        unsigned int n2;
        unsigned int ris=0;
        unsigned int rip=0;
    
        printf("n1 : ");
        scanf("%u", &n1);
        printf("n2 : ");
        scanf("%u", &n2);
        int cont=0;
        while (1){
    	unsigned int bit1 = n1%10;
    	unsigned int bit2 = n2%10;
    	ris += bit1 ^ bit2 ^ rip;
    	rip = (bit1 & bit2) | (rip &(bit1|bit2)); //full adder
    	n1 /=10;
    	n2 /=10;
    	if (++cont < N_BITS){
    	    ris*=10;
    	    continue;
    	}
    	else break;
        }
    	
        if(rip!=0)
    	printf("ERRORE\n");
        else
    	for(int i =0; i < N_BITS; i++)
    	{
    	    printf("%u", ris%10);
    	    ris /=10;
    	}
        return 0;
    }
    
Devi accedere o registrarti per scrivere nel forum
17 risposte