lettura facile

I numeri binari in Python

In questo tutorial ti spiego come si rappresenta un numero intero nel sistema binario tramite il linguaggio di programmazione Python.

Cosa sono i numeri binari? I numeri binari sono alla base della rappresentazione dei dati in informatica. Un numero binario è composto solo da cifre 0 e 1 e rappresenta un numero nell'aritmetica base-2. Python fornisce strumenti potenti e flessibili per lavorare con numeri binari, rendendo semplice eseguire conversioni, operazioni aritmetiche e manipolazioni a livello di bit.

Per assegnare un valore binario in Python devi scrivere il numero binario preceduto dal simbolo 0b oppure 0B.

Ad esempio, per scrivere il numero 7 decimale nella rappresentazione binaria 111 devi digitare 0b111

x=0b111

Come anticipato la lettera "b" può anche essere maiuscola.

x=0B111

Il risultato finale è la rappresentazione binaria 111 del numero decimale 7.

Il valore restituito inizia con '0b' che indica che è una rappresentazione binaria.

print(x)

0b111

Per visualizzare i numeri in binario puoi usare anche la formattazione delle stringhe con il simbolo 'b'

num = 7
print(f"{num:b}")

Il risultato in output è il numero binario 111.

111

In alternativa, puoi usare la funzione bin() che converte un valore decimale in un numero binario con il prefisso 0b.

num=bin(7)

In questo caso restituisce '0b111'

'0b111'

Ricorda che la funzione bin() restituisce una stringa che rappresenta il numero binario e non il numero binario. Quindi, se vuoi usare il risultato in un'operazione matematica, devi prima convertirlo in intero tramite la funzione int(num,2).

int(num,2)

In questo modo ottieni il numero intero equivalente ossia 7

7

Per compiere la conversione inversa, da binario a decimale, puoi usare la funzione int()

y=int(0b111)

In questo caso il risultato è la rappresentazione del numero binario 111 in base 10, ossia il numero decimale 7

print(y)

7

Python supporta tutte le operazioni aritmetiche sui numeri binari.

Ad esempio, definisci due numeri binari 1010 (ossia 10 in decimale) e 101 (ossia 5 in decimale)

a = 0b1010
b = 0b0101

Puoi sommare i due numeri binari usando l'operatore +

a+b

15

Nota che Python ti restituisce il risultato dell'operazione nella rappresentazione decimale (15).

Se vuoi ottenere il risultato in binario devi convertirlo con la funzione bin().

bin(a+b)

0b1111

Puoi sottrarre i due numeri binari con l'operatore meno -

a-b

5

Moltiplicare i due numeri binari con l'operatore asterisco *

a*b

50

Dividere i due numeri binari-

a/b

2.0

Puoi anche effettuare delle operazioni che manipolano i numeri binari a livello di bit, usando uno di questi operatori:

  • AND Bitwise (&)
    L'operatore AND Bitwise in Python esegue un'operazione logica AND su ciascuna coppia di bit corrispondenti dei due numeri, restituendo un nuovo numero binario in cui un bit è impostato a 1 solo se entrambi i bit corrispondenti nei numeri originali sono 1.

    bin(a & b)

    0b0

  • OR Bitwise (|)
    L'operatore OR Bitwise combina i bit di due numeri binari in modo che il bit risultante in ogni posizione sia 1 se almeno uno dei bit corrispondenti nei numeri originali è 1, altrimenti è 0.

    bin(a | b)

    0b1111

  • XOR Bitwise (^)
    L'operatore XOR (OR esclusivo) bitwise confronta due numeri bit per bit, restituendo un numero binario dove un bit è impostato a 1 se e solo se uno dei due bit corrispondenti nei numeri originali è 1, ma non entrambi.

    bin(a ^ b)

    0b1111

  • NOT Bitwise (~)
    L'operatore NOT bitwise inverte tutti i bit di un numero, trasformando ogni bit 0 in 1 e ogni bit 1 in 0.

    bin(~a)

    -0b1011

  • Shift a sinistra (<<)
    Lo Shift a sinistra è un'operazione binaria che sposta tutti i bit di un numero verso sinistra per un numero specificato di posizioni, inserendo zeri nei bit vuoti risultanti. Ad esempio, digita a<<1 per spostare di un solo bit a sinistra:

    bin(a << 1)

    0b10100

  • Shift a destra (>>)
    Lo Shift a destra è un'operazione binaria che sposta tutti i bit di un numero verso destra per un numero specificato di posizioni, inserendo zeri nei bit vuoti risultanti. Ad esempio, digita a>>1 per spostare di un solo bit a destra:

    bin(a >> 1)

    0b101

A questo punto hai tutto ciò che ti serve per cominciare a lavorare con numeri binari nel linguaggio Python.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin