Cosa devi sapere sugli operatori bitwise di Python? [Spiegato con esempi]

Pubblicato: 2021-10-06

I sistemi informatici rappresentano, archiviano e trasmettono dati come un flusso di cifre binarie chiamato bit. "Binary" significa che possono esserci solo due valori possibili, 0 e 1, e ciascuna di queste cifre binarie è nota come "bit". Indipendentemente dal fatto che lavori con testo, numeri decimali, immagini, suoni o video, il software per computer traduce le informazioni in codice binario composto da 0 e 1. Spesso indicato come linguaggio macchina, le informazioni binarie sono il livello più fondamentale di informazioni memorizzate da un sistema informatico.

Gli operatori bit per bit in Python ci consentono di manipolare singoli bit di dati al livello più elementare. In altre parole, gli operatori bit per bit in Python vengono utilizzati per eseguire calcoli bit per bit su valori interi. Pertanto, i valori interi vengono prima convertiti in formato binario e quindi vengono eseguite le operazioni bit per bit. Dopo aver eseguito le "operazioni bit per bit", i risultati vengono restituiti in formato decimale. Gli operatori bit per bit in Python funzionano solo su numeri interi. Migliorare te stesso con i programmi di scienza dei dati ti aiuterà a superare le sfide. Parliamo di più del text mining.

Ora, esploriamo gli operatori bit per bit di Python in modo più dettagliato, i tipi, il modo in cui funzionano e gli esempi.

Sommario

Operatori bit a bit in Python

Python include sei operatori per eseguire operazioni logiche bit per bit su interi.

Di seguito sono riportati i diversi operatori bit per bit in Python con la loro sintassi e una descrizione di ciò che ciascuno fa.

Operatore

Sintassi

Descrizione

bit a bit E

a&b

L'operatore restituisce 1 se entrambi i bit negli operandi sono 1. Altrimenti restituisce 0.

OR bit a bit

un | B

L'operatore restituisce 1 se uno dei bit negli operandi è 1. Altrimenti restituisce 0.

A bit NON

~a

Un operatore bit per bit unario che esegue la negazione logica di un dato numero capovolgendo tutti i suoi bit. Aritmeticamente, viene espresso sottraendo i singoli valori di bit da uno (~ai = 1 – ai).

XOR bit a bit

un ^ b

L'operatore restituisce 1 se una coppia di bit contiene valori di bit opposti. Altrimenti restituisce 0.

Spostamento sinistro bit a bit

un <<

L'operatore sposta i bit del suo primo operando a sinistra del numero di posizioni definite nel secondo operando. Inoltre, l'operatore aggiunge 0 sufficienti per riempire il vuoto che si forma sul lato destro del nuovo schema di bit.

Spostamento a destra bit a bit

un >>

L'operatore spinge i bit a destra del numero di posizioni specificato. Pertanto, i bit più a destra vengono sempre eliminati.

Operatori bit per bit in Python con esempi

Tenendo presente la descrizione di base di ciascun operatore bit per bit, diamo un'occhiata ad alcuni esempi per chiarire ulteriormente il concetto.

1. E bit a bit (&)

Restituisce 1 se entrambi i bit sono 1. Altrimenti restituisce 0.

  • Esempio 1

a = 24 = 11000 (Binario)

b = 4 = 00100 (binario)

a e b = 11000

&

00100

= 00000

= 0 (decimale)

  • Esempio #2

a = 10 = 1010 (binario)

b = 2 = 0010 (binario)

a e b = 1010

&

0010

= 0010

= 2 (decimale)

2. OR bit a bit ( | )

Restituisce 1 se uno dei bit è 1. Altrimenti restituisce 0.

  • Esempio 1

a = 67 = 1000011 (Binario)

b = 54 = 0110110 (Binario)

un | b = 1000011

|

0110110

= 1110111

= 119 (decimale)

  • Esempio #2

a = 6 = 000110 (Binario)

b = 34 = 100010 (binario)

un | b = 000110

|

100010

= 100110

= 38 (decimale)

3. NON bit a bit (~)

Restituisce il complemento a 1 del bit (inverte il bit).

  • Esempio 1

a = 60 = 111100 (Binario)

~a = ~111100

= 000011

= 3 (decimale)

  • Esempio #2

a = 33 = 100001 (Binario)

~a = ~100001

= 011110

= 30 (decimale)

4. XOR bit a bit (^)

Restituisce 1 se entrambi i bit hanno valori opposti. Altrimenti restituisce 0.

  • Esempio 1

a = 61 = 0111101 (Binario)

b = 90 = 1011010 (binario)

a^b = 0111101

^

1011010

= 1100111

= 103 (decimale)

  • Esempio #2

a = 2 = 000010 (Binario)

b = 55 = 110111 (binario)

a ^ b = 000010

^

110111

= 110101

= 53 (decimale)

5. Maiusc sinistro bit per bit (<<)

Sposta i bit a sinistra e riempie gli spazi vuoti formati a destra con 0.

  • Esempio 1

a = 39 = 100111 (Binario)

a << 1 = 1001110 = 78 (Decimale)

a << 2 = 10011100 = 156 (Decimale)

a << 3 = 100111000 = 312 (Decimale)

  • Esempio #2

b = 74 = 1001010 (Binario)

b << 1 = 10010100 = 148 (Decimale)

b << 2 = 100101000 = 296 (Decimale)

b << 3 = 1001010000 = 592 (Decimale)

6. Merda a destra bit a bit (>>)

Sposta i bit a destra e riempie gli spazi vuoti formati a sinistra con 0.

  • Esempio 1

a = 157 = 10011101 (binario)

a >> 1 = 1001110 = 78 (Decimale)

a >> 2 = 100111 = 39 (Decimale)

a >> 3 = 10011 = 19 (Decimale)

  • Esempio #2

b = 89 = 1011001 (binario)

b >> 1 = 101100 = 44 (Decimale)

b >> 2 = 010110 = 22 (Decimale)

b >> 3 = 001011 = 11 (Decimale)

Operatori bit per bit in Python (esempi con codice)

Di seguito sono riportati alcuni semplici frammenti di codice per illustrare gli operatori bit per bit in Python:

1. AND bit per bit, OR, NOT e XOR

Fonte

Fonte

2. Operatori di spostamento bit per bit

Fonte

Fonte

Via da seguire: padroneggia le abilità di Python con il programma di certificazione professionale di upGrad in Data Science

Sei un aspirante Business Manager con quasi nessuna esperienza nella programmazione? Quindi upGrad ti copre con il programma di certificazione professionale in Data Science per il processo decisionale aziendale.

Il programma di certificazione professionale in Data Science è appositamente progettato per manager e professionisti che desiderano sviluppare le competenze e le conoscenze pratiche nella scienza dei dati di base. Il rigoroso programma online di 8 mesi si concentra su problemi di scienza dei dati, algoritmi e come i dati possono essere presentati per prendere importanti decisioni aziendali. Il curriculum copre i seguenti corsi:

  • Contenuto preparatorio pre-programma
  • Risoluzione dei problemi aziendali, approfondimenti e narrazione
  • Statistica e apprendimento automatico
  • Strategia
  • Progetto Capstone
  • Introduzione a Python (modulo opzionale)

Ecco uno sguardo ai punti salienti del programma:

  • Certificazione riconosciuta a livello mondiale da IIM Kozhikode
  • Oltre 200 ore di contenuti, oltre 20 sessioni di apprendimento dal vivo, oltre 5 sessioni di coaching di esperti
  • 3 progetti industriali e una pietra miliare
  • Copertura completa di Excel, Python, Tableau, R e Power BI
  • Supporto professionale a 360 gradi
  • Uno contro uno con i mentori del settore
  • Assistenza al lavoro con primarie aziende
  • Opportunità di networking nel settore

Conclusione

Python è un linguaggio di programmazione potente, versatile e facile da usare, che lo rende una scelta popolare tra esperti e principianti. Inoltre, Python è ancora il linguaggio di programmazione preferito dagli sviluppatori per la sua assoluta efficienza, versatilità, affidabilità e velocità. Può essere utilizzato in quasi tutti i tipi di ambienti e piattaforme senza alcuna significativa perdita di prestazioni. Inoltre, Python alimenta la maggior parte dei carichi di lavoro di elaborazione dati in molte organizzazioni. La facilità di analisi dei dati offerta da Python lo rende utile per molte applicazioni, inclusi i progetti di machine learning.

Python è senza dubbio utile per affrontare i processi aziendali critici poiché costituisce un aspetto fondamentale della scienza dei dati. Inoltre, poiché i Big Data si espandono e sempre più aziende si concentrano sul prendere decisioni basate sui dati, l'importanza di Python non può essere minata. Quindi, se vuoi padroneggiare Python e applicare le tue abilità in scenari di business basati sui dati, iscriviti a upGrad per imparare dai migliori del settore!

A cosa servono gli operatori bit per bit?

Gli operatori bit per bit in Python vengono utilizzati per eseguire calcoli bit per bit su valori interi. Per questo, gli interi vengono prima trasformati in binari, quindi vengono eseguite varie operazioni, bit per bit, restituendo il formato decimale risultante. In Python, gli operatori bit per bit possono essere utilizzati solo su numeri interi.

Gli operatori bit per bit sono veloci?

Su un processore semplice ea basso costo, gli operatori bit per bit sono in genere più veloci della divisione, della moltiplicazione e spesso sostanzialmente più veloci dell'addizione. In generale, gli operatori bit per bit utilizzano meno risorse e quindi utilizzano molta meno energia.

Qual è l'uso degli operatori logici in Python?

Python ha tre operatori logici che consentono di confrontare i valori. I tre operatori logici AND, OR e NOT valutano le espressioni in valori booleani e restituiscono True o False in base al risultato dell'operatore. Di seguito sono riportati i tre operatori logici in Python:

1. AND (aeb): Vero se entrambe le espressioni sono vere
2. OR (a o b): Vero se almeno un'espressione è vera
3. NOT (non a): Vero solo se l'espressione è falsa