Convertitore decimale binario in Python

Realizziamo in questa lezione un semplice convertitore decimale binario in Python utilizzando le funzioni appena studiate.

Quindi iniziamo creando una funzione che prende come parametro un numero decimale e restituisce il numero convertito in binario.

Convertitore decimale binario in Python

Assegniamo a b, cioè alla variabile che conterrà il numero binario, la stringa vuota.

Dopo con un ciclo while che itera finché n è maggiore di zero, controlliamo se il resto della divisione è zero. Se il resto è zero aggiungiamo 1 alla stringa inizializzata, altrimenti aggiungiamo 1.

Ecco dunque il codice completo:

def dec_bin(n):

b=‘ ‘

while n>0:

if n%2==0:

b=‘0’+b

else:

b=‘1’+b

n=int(n/2)  #casting in intero

print(b)

c=int(input(‘Inserisci un numero decimale:  ‘))

dec_bin(c)


Convertitore decimale ottale in Python

Realizziamo anche una funzione che effettui la conversione da decimale a ottale.

In questo caso dobbiamo considerare i resti della divisione per 8.

Facciamo un esempio, considerando il numero decimale 32:

31:8=3 resto 7

Quindi 7 sarà l’ultima cifra del numero ottale che vogliamo trovare.

Dopo dobbiamo prendere 3 che si trova con questa formula (n-resto)/8, cioè (31-7)/8 e ancora 24/8 che appunto è uguale a tre.

Aggiungiamo alla stringa ottale la stringa resto che ottengo con un’operazione di casting.

Poi divido 3 per 8:

3:8=0 resto 3

Aggiungo 3 alla stringa precedente nella posizione sinistra, ottenendo così il numero 37.

Quindi mi fermo perché la condizione n>0 non è più verificata.

Ecco dunque il codice completo:

def dec_ot(n):

ottale=”

while n>0:

resto=n%8

n=int((n-resto)/8)

ottale=str(resto)+ottale

print(ottale)

o=int(input(‘Inserisci un numero decimale: ‘))

dec_ot(o)

Questo era solo un semplice modo per sviluppare un convertitore da decimale a binario e ottale in Python, potete trovare voi stessi un’altra soluzione.


Funzioni predefinite per la conversione

Ovviamente esistono le funzioni predefinite per convertire un numero da una base all’altra, ma è interessante ragionare su questi algoritmi.

Ecco quindi le funzioni predefinite:

print(‘In base 2: ‘, bin(33))

print(‘In base 8: ‘, oct(33))

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

Autore dell'articolo: Cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *