Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    19

    Passare in binario

    Salve a tutti,
    ho scritto un banale programmino che mi trasforma un numero da decimale a binario;
    il problema è che, per come lo scritto, me lo fa visualizzare scritto in verticale e da leggere dal basso verso l'alto;
    come posso fare per leggerlo in orizzontale?
    Grazie


    P.S.:
    ve lo mostro per qualche consiglio...


    #include<iostream>
    #include<math.h>

    using namespace std;
    int a,b,c,d,e,f,g,h,i,numero;
    void calcolo ();
    void calcolobis();
    int main ()
    {
    cout << "Inserisci un numero qualsiasi e, leggendo dal basso verso l'alto \n avrai il suo corrispondente in binario " <<endl;
    cin >> numero;
    cout << "\n \n"<< endl;
    calcolo ();
    };

    void calcolo()
    {
    a = numero/2;
    b = a*2,
    c = numero - b;
    cout << c << endl;
    d = a/2;
    e = d*2;
    f = a - e;
    cout << f <<endl;
    calcolobis();
    }


    void calcolobis()
    {
    if ( e > 0)
    { numero = d;
    a = b = c = e = f = 0;
    calcolo ();
    }
    else
    system ("Pause");
    }

  2. #2
    Non riesco a capire come dovrebbe funzionare il tuo programma (cos'è quel groviglio di variabili? Perché usi la ricorsione in quel modo quando puoi scrivere un semplice ciclo?), comunque ecco come farei io un programma del genere:
    codice:
    #include <iostream>
    using namespace std;
    
    int main()
    {
        int inputN;
        bool first1;
        cout<<"Inserisci il numero: ";
        cin>>inputN;
        if(inputN<0)
        {
            cout<<'-';
            inputN=-inputN;
        }
        for(int counter=sizeof(inputN)*8;counter;counter--)
        {
            if(inputN&(1<<(counter-1)))
            {
                first1=true;
                cout<<'1';
            }
            else if(first1)
                cout<<'0';
        }
        cin.sync();
        cin.ignore();
        return 0;
    }
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    19
    Grazie,

    decisamente più funzionale del mio;

    alla prossima!!!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466

    Re: Passare in binario

    Se togli i due endl dalle righe in grassetto, vedi il valore in orizzontale, ma dal bit 0 al bit n ...

    Originariamente inviato da program
    void calcolo()
    {
    a = numero/2;
    b = a*2,
    c = numero - b;
    cout << c << endl;
    d = a/2;
    e = d*2;
    f = a - e;
    cout << f <<endl;
    calcolobis();
    }
    Per visualizzarlo al contrario, dovresti modificare il programma ... ma su questo non mi esprimo perche' il codice mi sembra abbastanza contorto ...

    Comunque, guarda le discussioni di oggi, perche' si e' gia' parlato di questo argomento ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Il linguaggio va indicato espressamente nel titolo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.