Python bergeser ke kiri dengan 1

Operator Python Bitwise Left shift digunakan untuk menggeser urutan biner ke sisi kiri dengan posisi yang ditentukan. jika Anda memiliki nomor 14

x << n

Representasi biner dari 14 adalah 00001110 (agar lebih jelas mari kita tulis menggunakan 8 bit)

14 = (00001110) 2

Maka 14 << 1 akan menggeser posisi barisan biner 1 ke sisi kiri

Operator shift kiri dengan Python

Kode contoh sederhana operator geser kiri bitwise ke bilangan bulat 32 menggesernya dengan satu posisi

x = 32
# Shift by one position to the left
res = x << 1
print(res)

# Shift by two positions to the left
res = x << 2
print(res)
_

Keluaran

Python bergeser ke kiri dengan 1

Representasi bit desimal 32 adalah "0100000". Jika Anda menggesernya satu posisi ke kiri, Anda mendapatkan biner "01000000" (desimal 64). Jika Anda menggeser dua posisi ke kanan, Anda mendapatkan biner "010000000" (desimal 128)

Berikan komentar jika Anda memiliki keraguan atau saran tentang topik operator bitwise Python ini

Catatan. IDE. PyCharm 2021. 3. 3 (Edisi Komunitas)

Windows 10

Piton 3. 10. 1

Semua Contoh Python ada di Python 3, jadi Mungkin berbeda dari python 2 atau versi yang ditingkatkan

Python bergeser ke kiri dengan 1

Rohit

Gelar dalam Ilmu Komputer dan Insinyur. Pengembang Aplikasi dan memiliki banyak pengalaman bahasa Pemrograman. Antusias terhadap teknologi & suka belajar teknis

Bitwise Operator shift kiri digunakan untuk menggeser urutan biner ke sisi kiri dengan posisi yang ditentukan

Contoh

Mari kita ambil nomor 14

Representasi biner dari 14 adalah 00001110 (demi kejelasan mari kita tulis menggunakan 8 bit)

14 = (00001110) 2

Maka 14 << 1 akan menggeser posisi barisan biner 1 ke sisi kiri

Suka,

Penjelasan Bergambar

Python bergeser ke kiri dengan 1




Penerapan Operator Pergeseran Kiri Bitwise

Pada diagram di atas, Anda dapat melihat bahwa setiap kali kita menggeser posisi nomor satu ke kiri, nilai keluarannya akan persis seperti angka * 2

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

________3______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

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
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

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
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

________3______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 meninggalkan shift 1 dengan Python?

Contoh. Mari kita ambil nomor 14. Kemudian 14 << 1 akan menggeser posisi barisan biner 1 ke sisi kiri.

Bagaimana Anda meninggalkan pergeseran bilangan bulat dengan Python?

Operator geser kiri bitwise Python x << n menggeser representasi biner bilangan bulat x dengan n posisi ke kiri. Untuk bilangan bulat positif, ia menyisipkan bit 0 di sebelah kanan dan menggeser semua bit yang tersisa dengan satu posisi ke kiri.

Apa output dari operator shift kiri < pada 00011000 < 2?

dan < dengan Python?