Bagaimana Anda bergeser ke kiri dengan python?

Ada berbagai jenis operator seperti operator aritmatika, operator pembanding, dan operator bitwise di Python. Dalam program kami, kami menggunakan operator ini untuk mengontrol urutan eksekusi dan untuk memanipulasi data. Pada artikel ini, kita akan mempelajari berbagai operator python bitwise shift, fungsi dan contohnya

Daftar isi

Apa itu operator shift Bitwise?

Operator pergeseran bitwise adalah operator biner. Operator ini digunakan untuk menggeser bit representasi biner dari angka ke kiri atau kanan dengan tempat tertentu. Operator pergeseran bitwise sering digunakan untuk operasi di mana kita harus mengalikan atau membagi bilangan bulat dengan pangkat 2. Di sini, operator geser kiri Bitwise digunakan untuk mengalikan angka dengan pangkat 2 sedangkan operator geser kanan bitwise di python digunakan untuk membagi angka dengan pangkat 2.   

Operator Pergeseran Kanan Bitwise dengan Python

Operator geser kanan bitwise dalam python menggeser bit representasi biner dari nomor input ke sisi kanan dengan jumlah tempat yang ditentukan. Bit kosong yang dibuat dengan menggeser bit diisi dengan 0s.   

Bagaimana Anda bergeser ke kiri dengan python?

Sintaks untuk pergeseran kanan bitwise adalah >> n. Di sini 'a' adalah angka yang bitnya akan digeser oleh 'n' tempat ke kanan

Cara kerja operasi bitwise right shift dapat dipahami dari ilustrasi berikut

Misalkan kita harus menggeser bit 14 sebanyak 2 tempat. Kami pertama-tama akan mengubahnya menjadi format biner

  • 14 dalam format biner ditulis sebagai 1110

Setelah digeser, dua bit paling kanan 1 dan 0 akan dibuang dan bit paling kiri yang kosong akan diisi dengan 0s. Output dari 14 >> 2 akan menjadi 0011 dalam biner yang dikonversi ke nilai 3 dalam format integer.  

Di sini Anda dapat mengamati bahwa kami telah menggeser bit sebanyak 2 tempat karena nomor input telah dibagi dengan 22 i. e. 4. Demikian pula, jika kita menggeser angka dengan n bit, nilai bilangan bulat dari angka tersebut akan dibagi dengan 2n. Kami dapat memverifikasi output ini menggunakan operator shift kanan di python menggunakan program berikut

myNum1 = 14
myNum2 = 2
shiftNum = myNum1 >> myNum2
print("Operand 1 is:", myNum1)
print("operand 2 is:", myNum2)
print("Result of the right shift operation on {} by {} bits is {}.".format(myNum1, myNum2, shiftNum))

Keluaran

Operand 1 is: 14
operand 2 is: 2
Result of the right shift operation on 14 by 2 bits is 3.
_

Operator Pergeseran Kiri Bitwise dengan Python

Operator geser kiri bitwise di Python menggeser bit representasi biner dari nomor input ke sisi kiri dengan jumlah tempat yang ditentukan. Bit kosong yang dibuat dengan menggeser bit diisi dengan 0s.   

Sintaks untuk pergeseran kiri bitwise adalah << n. Di sini 'a' adalah angka yang bitnya akan digeser oleh 'n' tempat ke kiri

Cara kerja operasi bitwise shift kiri dapat dipahami dari ilustrasi berikut

Misalkan kita harus menggeser bit 14 sebanyak 2 tempat. Kami pertama-tama akan mengubahnya menjadi format biner

  • 14 dalam format biner ditulis sebagai 1110

Setelah digeser, bit paling kanan yang kosong akan diisi dengan 0s. Output dari 14 << 2 akan menjadi 111000 dalam biner yang dikonversi ke nilai 56 dalam format integer.  

Di sini Anda dapat mengamati bahwa kami telah menggeser bit sebanyak 2 tempat karena nomor inputnya telah dikalikan dengan 22 i. e. 4. Demikian pula, jika kita menggeser angka sebanyak n bit, nilai bilangan bulat dari angka tersebut akan dikalikan dengan 2n. Kami dapat memverifikasi output ini menggunakan operator shift kiri di python menggunakan program berikut

myNum1 = 14
myNum2 = 2
shiftNum = myNum1 << myNum2
print("Operand 1 is:", myNum1)
print("operand 2 is:", myNum2)
print("Result of the left shift operation on {} by {} bits is {}.".format(myNum1, myNum2, shiftNum))

Keluaran

Operand 1 is: 14
operand 2 is: 2
Result of the left shift operation on 14 by 2 bits is 56.

Kesimpulan

Pada artikel ini, kita telah membahas operator pergeseran bitwise, sintaks dan contohnya di Python. Untuk mempelajari lebih lanjut tentang pemrograman python, Anda dapat membaca artikel ini tentang pemahaman daftar. Anda mungkin juga menyukai artikel ini di daftar tertaut dengan Python

Terkait

Pelatihan Python yang Direkomendasikan

Kursus. Python 3 Untuk Pemula

Lebih dari 15 jam konten video dengan instruksi terpandu untuk pemula. Pelajari cara membuat aplikasi dunia nyata dan kuasai dasar-dasarnya

Operator digunakan untuk melakukan operasi pada nilai dan variabel. Ini adalah simbol khusus yang melakukan perhitungan aritmatika dan logis. Nilai operator beroperasi pada dikenal sebagai Operand.  

Daftar Isi.  

  •  
  •  

Operator bitwise

Di Python, operator bitwise digunakan untuk melakukan perhitungan bitwise pada bilangan bulat. Bilangan bulat pertama-tama diubah menjadi biner dan kemudian operasi dilakukan pada setiap bit atau pasangan bit yang sesuai, oleh karena itu disebut operator bitwise. Hasilnya kemudian dikembalikan dalam format desimal

Catatan. Operator bitwise Python hanya bekerja pada bilangan bulat

DESKRIPSI OPERATOR SINTAKS Bitwise DAN x & y. ORx bitwise. y~Bitwise NOT~x^Bitwise XORx ^ y>>Bitwise right shiftx>><Mari kita pahami masing-masing operator satu per satu

Bitwise AND operator Mengembalikan 1 jika kedua bit adalah 1 jika tidak 0

Contoh.  

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a & b = 1010
         &
        0100
      = 0000
      = 0 (Decimal)
_

Bitwise or operator Mengembalikan 1 jika salah satu dari bit adalah 1 jika tidak 0

Contoh

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)

Bitwise bukan operator. Mengembalikan pelengkap nomor satu

Contoh

a = 10 = 1010 (Binary)

In computers we ususally represent numbers using 32 bits,
so binary representation of 10 is (....0000 1010)[32 bits]

~a is basically 1's complement of a 
i.e ~a should be ~10 = ~(....0000 1010) = (....1111 0101) = intermediate-result

Since bitwise negation inverts the sign bit,
we now have a negative number. And we represent a negative number
using 2's complement.

2's complement of intermediate-result is:
intermediate-res =  0101      //....1111 0101
      
                     1010      //....0000 1010 -(1's complement)
                         +1    
                 -----------
                   =  1011      //....0000 1011
                  -----------
                   =   -11 (Decimal)
                   
thus ~a = -11
_

Operator bitwise xor. Mengembalikan 1 jika salah satu bit adalah 1 dan yang lainnya adalah 0 jika tidak mengembalikan salah

Contoh

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a ^ b = 1010
         ^
        0100
      = 1110
      = 14 (Decimal)

Python3




# Python program to show

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
0

 

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
3

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
4
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
6

 

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
_7

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
8
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
9
a = 10 = 1010 (Binary)

In computers we ususally represent numbers using 32 bits,
so binary representation of 10 is (....0000 1010)[32 bits]

~a is basically 1's complement of a 
i.e ~a should be ~10 = ~(....0000 1010) = (....1111 0101) = intermediate-result

Since bitwise negation inverts the sign bit,
we now have a negative number. And we represent a negative number
using 2's complement.

2's complement of intermediate-result is:
intermediate-res =  0101      //....1111 0101
      
                     1010      //....0000 1010 -(1's complement)
                         +1    
                 -----------
                   =  1011      //....0000 1011
                  -----------
                   =   -11 (Decimal)
                   
thus ~a = -11
0
a = 10 = 1010 (Binary)

In computers we ususally represent numbers using 32 bits,
so binary representation of 10 is (....0000 1010)[32 bits]

~a is basically 1's complement of a 
i.e ~a should be ~10 = ~(....0000 1010) = (....1111 0101) = intermediate-result

Since bitwise negation inverts the sign bit,
we now have a negative number. And we represent a negative number
using 2's complement.

2's complement of intermediate-result is:
intermediate-res =  0101      //....1111 0101
      
                     1010      //....0000 1010 -(1's complement)
                         +1    
                 -----------
                   =  1011      //....0000 1011
                  -----------
                   =   -11 (Decimal)
                   
thus ~a = -11
1

 

a = 10 = 1010 (Binary)

In computers we ususally represent numbers using 32 bits,
so binary representation of 10 is (....0000 1010)[32 bits]

~a is basically 1's complement of a 
i.e ~a should be ~10 = ~(....0000 1010) = (....1111 0101) = intermediate-result

Since bitwise negation inverts the sign bit,
we now have a negative number. And we represent a negative number
using 2's complement.

2's complement of intermediate-result is:
intermediate-res =  0101      //....1111 0101
      
                     1010      //....0000 1010 -(1's complement)
                         +1    
                 -----------
                   =  1011      //....0000 1011
                  -----------
                   =   -11 (Decimal)
                   
thus ~a = -11
_2

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
8
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
9
a = 10 = 1010 (Binary)

In computers we ususally represent numbers using 32 bits,
so binary representation of 10 is (....0000 1010)[32 bits]

~a is basically 1's complement of a 
i.e ~a should be ~10 = ~(....0000 1010) = (....1111 0101) = intermediate-result

Since bitwise negation inverts the sign bit,
we now have a negative number. And we represent a negative number
using 2's complement.

2's complement of intermediate-result is:
intermediate-res =  0101      //....1111 0101
      
                     1010      //....0000 1010 -(1's complement)
                         +1    
                 -----------
                   =  1011      //....0000 1011
                  -----------
                   =   -11 (Decimal)
                   
thus ~a = -11
5
a = 10 = 1010 (Binary)

In computers we ususally represent numbers using 32 bits,
so binary representation of 10 is (....0000 1010)[32 bits]

~a is basically 1's complement of a 
i.e ~a should be ~10 = ~(....0000 1010) = (....1111 0101) = intermediate-result

Since bitwise negation inverts the sign bit,
we now have a negative number. And we represent a negative number
using 2's complement.

2's complement of intermediate-result is:
intermediate-res =  0101      //....1111 0101
      
                     1010      //....0000 1010 -(1's complement)
                         +1    
                 -----------
                   =  1011      //....0000 1011
                  -----------
                   =   -11 (Decimal)
                   
thus ~a = -11
6

 

a = 10 = 1010 (Binary)

In computers we ususally represent numbers using 32 bits,
so binary representation of 10 is (....0000 1010)[32 bits]

~a is basically 1's complement of a 
i.e ~a should be ~10 = ~(....0000 1010) = (....1111 0101) = intermediate-result

Since bitwise negation inverts the sign bit,
we now have a negative number. And we represent a negative number
using 2's complement.

2's complement of intermediate-result is:
intermediate-res =  0101      //....1111 0101
      
                     1010      //....0000 1010 -(1's complement)
                         +1    
                 -----------
                   =  1011      //....0000 1011
                  -----------
                   =   -11 (Decimal)
                   
thus ~a = -11
_7

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
8
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
_9
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a ^ b = 1010
         ^
        0100
      = 1110
      = 14 (Decimal)
0
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a ^ b = 1010
         ^
        0100
      = 1110
      = 14 (Decimal)
1

 

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a ^ b = 1010
         ^
        0100
      = 1110
      = 14 (Decimal)
2

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
8
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
9
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a ^ b = 1010
         ^
        0100
      = 1110
      = 14 (Decimal)
5
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a ^ b = 1010
         ^
        0100
      = 1110
      = 14 (Decimal)
6

Keluaran.  

a & b = 0
a | b = 14
~a = -11
a ^ b = 14

Operator Pergeseran

Operator ini digunakan untuk menggeser bit angka ke kiri atau ke kanan sehingga mengalikan atau membagi angka dengan dua masing-masing. Mereka dapat digunakan ketika kita harus mengalikan atau membagi angka dengan dua.  
Pergeseran kanan bitwise. Menggeser bit angka ke kanan dan mengisi 0 pada rongga kiri (mengisi 1 jika angka negatif) sebagai hasilnya. Efek yang sama seperti membagi angka dengan pangkat dua
Contoh.  

Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 

Pergeseran kiri bitwise. Menggeser bit angka ke kiri dan mengisi 0 pada rongga kanan sebagai hasilnya. Efek yang sama seperti mengalikan angka dengan pangkat dua
Contoh.  

Example 1:
a = 5 = 0000 0101 (Binary)
a << 1 = 0000 1010 = 10
a << 2 = 0001 0100 = 20 

Example 2:
b = -10 = 1111 0110 (Binary)
b << 1 = 1110 1100 = -20
b << 2 = 1101 1000 = -40 

Python3




# Python program to show

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a ^ b = 1010
         ^
        0100
      = 1110
      = 14 (Decimal)
_8

 

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
3

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
4
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
4
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
3

 

a & b = 0
a | b = 14
~a = -11
a ^ b = 14
_6

________5______8

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
9
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
9
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
0
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
1
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
2

________5______8

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
9
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
5
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
6
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
1
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
2

 

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
1
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
Example 1:
a = 5 = 0000 0101 (Binary)
a << 1 = 0000 1010 = 10
a << 2 = 0001 0100 = 20 

Example 2:
b = -10 = 1111 0110 (Binary)
b << 1 = 1110 1100 = -20
b << 2 = 1101 1000 = -40 
1

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
4
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
2
a & b = 0
a | b = 14
~a = -11
a ^ b = 14
4
a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
3

 

Example 1:
a = 5 = 0000 0101 (Binary)
a << 1 = 0000 1010 = 10
a << 2 = 0001 0100 = 20 

Example 2:
b = -10 = 1111 0110 (Binary)
b << 1 = 1110 1100 = -20
b << 2 = 1101 1000 = -40 
_6

________5______8

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
9
Example 1:
a = 5 = 0000 0101 (Binary)
a << 1 = 0000 1010 = 10
a << 2 = 0001 0100 = 20 

Example 2:
b = -10 = 1111 0110 (Binary)
b << 1 = 1110 1100 = -20
b << 2 = 1101 1000 = -40 
9
a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
0
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
1
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
2

________5______8

a = 10 = 1010 (Binary)
b = 4 =  0100 (Binary)

a | b = 1010
         |
        0100
      = 1110
      = 14 (Decimal)
9
a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
5
a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20
6
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
1
Example 1:
a = 10 = 0000 1010 (Binary)
a >> 1 = 0000 0101 = 5

Example 2:
a = -10 = 1111 0110 (Binary)
a >> 1 = 1111 1011 = -5 
2

Keluaran.  

a >> 1 = 5
b >> 1 = -5
a << 1 = 10
b << 1 = -20

Kelebihan Operator Bitwise

Operator Overloading berarti memberikan makna yang diperluas di luar makna operasional yang telah ditentukan sebelumnya. Misalnya operator + digunakan untuk menambahkan dua bilangan bulat serta menggabungkan dua string dan menggabungkan dua daftar. Ini dapat dicapai karena operator '+' dibebani oleh kelas int dan kelas str. Anda mungkin telah memperhatikan bahwa operator atau fungsi bawaan yang sama menunjukkan perilaku yang berbeda untuk objek dari kelas yang berbeda, ini disebut Operator Overloading

Bagaimana Anda bergeser ke kiri?

Operator pergeseran kiri ( << ) menggeser operan pertama sejumlah bit yang ditentukan, modulo 32, ke kiri . Kelebihan bit yang digeser ke kiri akan dibuang. Nol bit digeser dari kanan.

Apa arti dari < dengan Python?