
La funzione bin() in Python
La funzione bin() è una funzione built-in del linguaggio Python che converte un numero intero in una stringa che rappresenta il numero binario corrispondente.
bin(x)
Il parametro x è un numero intero.
La funzione restituisce la stringa con il numero binario, ossia la rappresentazione dello stesso numero ma in base 2.
In Python i numeri binari iniziano sempre con il prefisso "0b", che indica che il valore è in formato binario, e sono composti esclusivamente dai simbolo 0 e 1. Ricorda, però, che la funzione bin() restituisce una stringa, non un numero.
Ecco un esempio pratico per capire meglio come funziona.
Digita bin(10) sulla riga di comando.
bin(10)
La funzione restituisce la rappresentazione binaria del numero decimale 10.
In questo caso una stringa con il numero binario 1010
'0b1010'
Ora digita un numero negativo come argomento, ad esempio bin(-10)
bin(-10)
La funzione bin() restituisce una stringa con il segno meno davanti al prefisso "0b" che rappresenta il numero binario corrispondente.
'-0b1010'
Ricorda che la funzione bin() restituisce sempre una stringa, non un numero binario.
Se vuoi eseguire operazioni matematiche sul risultato, devi convertirlo nuovamente in un numero.
Ad esempio, assegna un valore a due variabili tramite la funzione bin()
a=bin(2)
b=bin(3)
Alla variabile "a" è assegnata la stringa '0b10' mentre alla variabile "b" la stringa '0b11'. Sono i corrispondi valori binari di 2 e 3 in formato stringa.
Ora somma le variabili a+b
a+b
Python non esegue la somma dei valori binari a+b ma, essendo due stringhe, compie la concatenazione delle due stringhe '0b10'+'0b11'.
'0b100b11'
In questo caso per compiere la somma dei valori binari, devi prima tradurli in valori interi decimali.
a=int(a,2)
b=int(b,2)
Adesso alla variabile "a" è assegnato il valore numerico intero 2 mentre alla variabile "b" il valore 3.
A questo punto puoi sommare le due variabili.
a+b
In questo caso Python esegue la somma dei valori numerici 2+3 e restituisce la somma 5
5