Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    78

    [C] Somma binaria e complemento a due

    Salve forum,premetto che non ho mai affrontato esericizi sulla somma binaria e il complemento a due,ma mi ritrovo tra le mani la seguente traccia,qualcuno potrebbe darmi qualche suggerimento su come impostarla...

    int differenza(char s1[], char s2[], char s3[]);// prototipi
    int somma ( char s1[], char s2[], char s3[]);
    int complemento_a_2 (char s[]);...
    char somma_binaria (char a, char b, char c, char*r);

    int main ()
    {

    char s1[N], s2[N], s3[N];
    int overflow;

    printf("s1: ");
    scanf("%s", s1);
    printf("s2: ");
    scanf("%s", s2);
    overflow= differenza(s1,s2,s3);
    //il controllo dell'overflow non è richiesto dal compito.
    printf("s3: %s\n",s3);
    if(overflow)
    printf("Si è verificato un overflow.\n");
    system("PAUSE");
    return EXIT_SUCCESS;
    }
    Ultima modifica di SSSS90; 27-03-2014 a 11:56

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ma i tag code li usi o no?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    78
    se sapessi come usarli...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Modalità avanzata ... tasto #
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    78
    pardon,non avevo letto il regolamento
    codice:
     int differenza(char s1[], char s2[], char s3[]);// prototipi
     int somma ( char s1[], char s2[], char s3[]);
     int complemento_a_2 (char s[]);...
     char somma_binaria (char a, char b, char c, char*r); 
    
    int main ()
    {
    
    char s1[N], s2[N], s3[N];
     int overflow;
    
    printf("s1:  ");
     scanf("%s", s1);
     printf("s2:  ");
     scanf("%s", s2);
     overflow= differenza(s1,s2,s3);
     //il controllo dell'overflow non è richiesto dal compito.
     printf("s3: %s\n",s3);
     if(overflow)
     printf("Si è verificato un overflow.\n");
     system("PAUSE");
     return EXIT_SUCCESS;
    }

  6. #6
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    E dove sta il problema?
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  7. #7

    Moderazione

    Aggiungo: oltre ai tag CODE, ti ricordo che il linguaggio va specificato nel titolo della discussione va specificato nel titolo (come "tag" tra parentesi quadre); ora lo aggiungo io, in futuro ricordatene.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Probabilmente vuole essere aiutato nella scrittura delle varie funzioni.

    Intanto è meglio iniziare dall'addizione e sapere cosa non sai fare più in dettaglio ... parti dalla teoria ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    78
    1)Ho provato a costruire la funzione somma così,cmq non funziona perfettamente.
    2)La funzione che non capisco è la funzione complemento a due,se inserisco direttamente due stringhe composte da bit(%s nel main),quindi già prese in rappresentazione complemento a due(presumo), ache serve la funzione complemento a due..perdonate la domanda..ma non ci ho capito na mazza..
    codice:
    int somma (char s1[N], char s2[N], char s3[N])
     { 
            
            
            int i,riporto;
            
            i=0;
            riporto=0;
            while((s1[i]!='\0')&& (s2[i]!='\0'))
            {
                 s3[i]=s1[i]+s2[i]+riporto;
                 if(s3[i]>=2)
                 {
                    riporto=1;
                    i++;
                 }
                 else
                    riporto=0;
                    i++;
            }
                  return i;
                  
     }
    Ultima modifica di LeleFT; 31-03-2014 a 09:46 Motivo: Modificati tag QUOTE con tag CODE

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.