Operatori bit a bit Python [con esempi]

Pubblicato: 2022-09-11

Gli operatori bit per bit sono forniti dal linguaggio di programmazione Python per consentire ai programmatori di manipolare i dati al livello più elementare, dando loro molto più controllo su tutte le variabili.

Python è uno dei linguaggi di programmazione più popolari nel mondo di oggi. La versatilità di Python e il numero di funzionalità che offre sono alcuni dei motivi della sua crescente popolarità. Questo articolo esplorerà gli operatori bit per bit in Python, diversi tipi di operatori bit per bit, i loro usi e molto altro.

Sommario

Panoramica degli operatori bit per bit di Python

Gli operatori bit a bit hanno lo stesso aspetto in diversi linguaggi di programmazione. Python viene fornito con vari tipi di operatori come operatori aritmetici, logici e di confronto.

Operatore Esempio Significato
& a&b bit a bit E
| un | b OR bit a bit
^ un ^ b Bitwise XOR (OR esclusivo)
~ ~a A bit NON
<< a << n Spostamento a sinistra bit a bit
>> un >> n Spostamento a destra bit a bit

La maggior parte degli operatori bit per bit sono binari, il che significa che necessitano di due operandi con cui lavorare, generalmente indicati come operando sinistro e destro. Bit per bit NOT (~) è l'unico operatore unario per bit poiché necessita di un solo operando.

Esplora i nostri corsi di scienza dei dati popolari

Programma post-laurea esecutivo in Data Science da IIITB Programma di certificazione professionale in Data Science per il processo decisionale aziendale Master of Science in Data Science presso l'Università dell'Arizona
Programma di certificazione avanzato in Data Science da IIITB Programma di certificazione professionale in Data Science e Business Analytics presso l'Università del Maryland Corsi di Data Science

Cosa sono gli operatori Bitwise?

Gli operatori bit per bit sono uno dei tipi di operatori utilizzati per eseguire calcoli bit per bit su numeri interi. Gli interi vengono prima convertiti in binari e quindi le operazioni vengono eseguite bit per bit, da cui il nome operatori bit per bit. Il risultato viene quindi trasformato in formato decimale. Questi operatori possono eseguire calcoli solo su numeri interi.

Dai un'occhiata alle nostre certificazioni di data science per migliorare le tue competenze.

L'importanza degli operatori bit per bit

Probabilmente hai capito cosa sono gli operatori bit per bit, ora concentriamoci sull'importanza degli operatori bit per bit. Sono migliori degli operatori aritmetici ed ecco perché è necessario utilizzarli:

  • Velocità di esecuzione

Gli operatori bit per bit sono più veloci rispetto all'esecuzione di moltiplicazioni o divisioni. Se hai bisogno di moltiplicare una variabile x per diciamo 9, puoi fare (x<<3 + x) che sarebbe qualche ciclo più veloce di (x*9).

  • Controllo degli errori

Gli operatori bit per bit sono ampiamente utilizzati per il controllo degli errori. Se stai inviando alcuni bit a un altro computer su un altro server, è inevitabile che si verifichino alcuni errori. È possibile identificare questi errori utilizzando gli operatori bit per bit.

Probabilmente capisci l'uso e l'importanza degli operatori bit per bit, quindi passiamo a comprendere i diversi tipi di operatori bit per bit.

Diversi tipi di operatori bit per bit

Operatori logici bit a bit

Gli operatori bit per bit e, o, e xor sono operatori binari che hanno un operando sinistro e destro. L'operatore bit per bit non è un operando unario che ha solo un operando destro. Il tipo di risultato di tutti e quattro gli operatori bit per bit è numeri interi. Gli operatori logici bit per bit esaminano un bit alla volta nel loro operando prima e calcolano il valore corrispondente nel risultato.

bit a bit E

L'operatore AND (&) viene utilizzato per eseguire un AND tra due bit. In questo caso, entrambi i bit devono essere veri affinché l'output sia vero. Se uno dei bit è falso, l'uscita è falsa. In altre parole, se entrambi i bit sono 1, restituisce 1 altrimenti 0.

1&1 = 1

1&0 = 0

0&0 = 0

0&1 = 0

Esempio:

a = 10 = 1010 (binario)

b = 4 = 0100 (Binario)

a e b = 1010

&

0100

= 0000

= 0 (decimale)

OR bit a bit

L'operatore OR (|) viene utilizzato per eseguire l'operazione OR tra due bit. Affinché l'output sia vero, uno dei bit deve essere vero. A differenza dell'operatore (&), entrambi i bit non devono essere veri affinché il risultato sia vero. In altre parole, il bit risultante è 0 se e solo se entrambi i bit in considerazione sono 0 altrimenti il ​​risultato è 1.

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

Esempio:

a = 10 = 1010 (binario)

b = 4 = 0100 (Binario)

un | b = 1010

|

0100

= 1110

= 14 (decimale)

A bit NON

L'operatore Bitwise NOT (~) viene utilizzato per restituire il complemento del numero in Python. Tuttavia, l'operatore not è un operatore molto semplice e viene utilizzato per invertire il bit da 0 a 1 e da 1 a 0.

~13 (0b01101) = -14

~16 (0b010000) = -17

~31 (0b011111) = -32

Esempio:

a = 10 = 1010 (binario)

~a = ~1010

= -(1010 + 1)

= -(1011)

= -11 (Decimale) Operatore XOR bit per bit

L'operatore XOR (^) viene utilizzato per XOR tra due bit che sono in funzione. L'operazione XOR è molto semplice. Se due bit sono uguali, il bit risultante è 0 altrimenti 1. È ampiamente utilizzato nei calcoli logici per rendere il processo più veloce.

1^1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

Esempio:

a = 10 = 1010 (binario)

b = 4 = 0100 (Binario)

a e b = 1010

^

0100

= 1110

= 14 (decimale)

Operatori di turno

Questi operatori bit per bit vengono utilizzati per spostare i bit di un numero da sinistra a destra moltiplicando o dividendo rispettivamente il numero per due. Possono essere usati quando dobbiamo dividere o moltiplicare il numero per due.

Spostamento a destra bit a bit

L'operatore di destra (>>), come suggerisce il nome, sposta i bit verso destra su un numero rappresentato sul lato destro dell'operatore.

Leggi i nostri popolari articoli sulla scienza dei dati

Percorso di carriera nella scienza dei dati: una guida completa alla carriera Crescita professionale di Data Science: il futuro del lavoro è qui Perché la scienza dei dati è importante? 8 modi in cui la scienza dei dati porta valore al business
Rilevanza della scienza dei dati per i manager La scheda tecnica definitiva per la scienza dei dati che ogni data scientist dovrebbe avere I 6 principali motivi per cui dovresti diventare un data scientist
Un giorno nella vita di Data Scientist: cosa fanno? Mito sfatato: la scienza dei dati non ha bisogno di codifica Business Intelligence vs Data Science: quali sono le differenze?

Ad esempio – 10>>2 si sposterà (1010) verso destra di 2.

Esempio 1:

a = 10 = 0000 1010 (Binario)

a >> 1 = 0000 0101 = 5

Esempio 2:

a = -10 = 1111 0110 (Binario)

a >> 1 = 1111 1011 = -5

Spostamento sinistro bit a bit

L'operatore sinistro (<<), come suggerisce il nome, sposta i bit verso sinistra su un numero rappresentato sul lato destro dell'operatore.

Ad esempio – 1<< 2 sposterà 1 verso sinistra per 2 valori.

Esempio 1:

a = 5 = 0000 0101 (Binario)

a << 1 = 0000 1010 = 10

a << 2 = 0001 0100 = 20

Esempio 2:

b = -10 = 1111 0110 (Binario)

b << 1 = 1110 1100 = -20

b << 2 = 1101 1000 = -40

Leggi i nostri popolari articoli sulla scienza dei dati

Percorso di carriera nella scienza dei dati: una guida completa alla carriera Crescita professionale di Data Science: il futuro del lavoro è qui Perché la scienza dei dati è importante? 8 modi in cui la scienza dei dati porta valore al business
Rilevanza della scienza dei dati per i manager La scheda tecnica definitiva per la scienza dei dati che ogni data scientist dovrebbe avere I 6 principali motivi per cui dovresti diventare un data scientist
Un giorno nella vita di Data Scientist: cosa fanno? Mito sfatato: la scienza dei dati non ha bisogno di codifica Business Intelligence vs Data Science: quali sono le differenze?

Conclusione

Avere una buona conoscenza degli operatori bit a bit di Python ti aiuterà a manipolare i dati binari nei tuoi progetti. Ora conosci le basi degli operatori bit per bit, la loro sintassi e i tipi di dati che li supportano. Puoi anche personalizzare il loro comportamento in base alle tue esigenze.

Se sei desideroso di apprendere ed espandere le tue conoscenze sugli operatori python e bit a bit, dai un'occhiata al programma di certificazione professionale di upGrad e University of Maryland in Data Science e Business Analytics , creato per professionisti che offrono oltre 20 casi di studio e incarichi che possono essere aggiunto al tuo portafoglio, oltre 100 ore di sessioni dal vivo, oltre 400 ore di apprendimento con assistenza sul lavoro delle migliori aziende.

Dove vengono utilizzati gli operatori bit per bit?

Gli operatori bit per bit possono essere utilizzati per manipolare singoli bit di un numero. In Python, gli operatori bit per bit eseguono calcoli bit per bit su interi. Innanzitutto, i numeri interi vengono convertiti in binari, quindi le operazioni vengono eseguite in piccoli blocchi: è così che gli operatori bit per bit hanno ottenuto il loro nome. Gli operatori bit per bit Python vengono utilizzati esclusivamente su numeri interi, restituendo risultati in formato decimale.

Che cos'è un singolo operatore operando?

Gli operatori aritmetici eseguono operazioni matematiche come addizioni e sottrazioni con operandi. Unario e binario sono le due categorie di operatori matematici. Gli operatori unari eseguono una funzione con un singolo operando, ad esempio: Bitwise NOT (~), mentre gli operatori binari utilizzano due operandi.

Perché abbiamo bisogno di operatori bit per bit?

Gli operatori bit per bit sono un ottimo modo per utilizzare in modo efficiente lo spazio durante la rappresentazione dei dati. Questi operatori sono necessari quando si opera su dati forniti dall'hardware in cui un bit specifico in un mondo è significativo. Gli operatori bit per bit sono necessari per risparmiare memoria. La compressione dei dati in bit anziché in parole consente di risparmiare memoria e spesso potresti avere enormi quantità di dati e quantità limitate di memoria.