Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Algoritmi - Algoritmo da decimale a binario e viceversa
Forum - Algoritmi - Algoritmo da decimale a binario e viceversa

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
tuttodiMC (Normal User)
Expert


Messaggi: 327
Iscritto: 29/10/2012

Segnala al moderatore
Postato alle 18:38
Mercoledì, 09/01/2013
Salve a tutti, qualcuno saprebbe dirmi che algoritmo devo usare per creare un programma che converta da decimale a binario e viceversa? Preciso che mi serve l'algoritmo solo delle conversioni e non di tutto il programma. Non so come fare, ho provato in vari modi. Il linguaggio che ho intenzione di usare è il Lua quindi se qualcuno lo conosce ancora meglio. Mi vanno benne gli algoritmi scritti in qualsiasi linguaggio tranne java o c++

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6366
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:46
Mercoledì, 09/01/2013
Da decimale a binario

Dividi il valore per 2 e prendi il resto continuamente fino a che il valore diventa 0
Tutti i resti presi dall'ultimo verso il primo costituiscono il valore binario


Da binario a decimale

Esamina i bit dal primo a destra verso il primo a sinistra effettuando la sommatoria in cui gli elementi sono

bit x (2 elevato a n)

in cui n vale 0 per la prima cifra a destra e aumenta verso sinistra


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Segnala al moderatore
Postato alle 18:46
Mercoledì, 09/01/2013

PM Quote
Avatar
tuttodiMC (Normal User)
Expert


Messaggi: 327
Iscritto: 29/10/2012

Segnala al moderatore
Postato alle 20:04
Venerdì, 11/01/2013
Vi ringrazio per le risposte ma sono cose che già sapevo. Il problema sta nella struttura del programma, cosa che non ho molto chiara.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6366
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:47
Venerdì, 11/01/2013
Se sono cose che sapevi, non dovevi chiedere l'algoritmo ma consigli sul codice.

Perché non ci proponi un inizio di codice in modo da capire dove sbagli?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
tuttodiMC (Normal User)
Expert


Messaggi: 327
Iscritto: 29/10/2012

Segnala al moderatore
Postato alle 18:26
Domenica, 13/01/2013
Codice sorgente - presumibilmente Delphi

  1. function dec2bin(n)
  2. io.write("Il numero ", n, "equivale a ")
  3. while n > 0.5 or n == 0.5 do
  4. y = n % 2
  5. n = math.floor(n / 2)
  6. io.write(y)
  7. end
  8. end
  9. dec2bin(5)



Solo che in questo modo scrivo i resti al contrario e con il while non posso saltare delle ripetizioni come con il for, perché il contatore lì parte per forza da 1 e non può partire da 2 perciò mi esce il numero 6 in binario e messo in disordine. Come faccio? Per quanto riguarda da binario a decimale il codice lo devo ancora realizzare.

Ultima modifica effettuata da tuttodiMC il 13/01/2013 alle 18:34
PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 18:35
Domenica, 13/01/2013

Carica un Array con i resti delle divisioni, e poi li stampi a video ciclando l'Array al contrario

non ci vuole la scienza ;)


If ok Then GOTO Avanza else GOTO Inizia

PM Quote
Avatar
tuttodiMC (Normal User)
Expert


Messaggi: 327
Iscritto: 29/10/2012

Segnala al moderatore
Postato alle 18:38
Domenica, 13/01/2013
Ed è qui che tu ti sbagli. Io avevo già provato a farlo ma sapresti scrivermi il codice per farlo? Anche in un altro linguaggio.

PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 18:41
Domenica, 13/01/2013

Te lo posso anche fare, va bene in visualbasic ?

  


If ok Then GOTO Avanza else GOTO Inizia

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo