Bagaimana Anda mendefinisikan bilangan biner dengan python?

Kami telah melihat angka dan operasi sederhana sebelumnya. Pada artikel ini Anda akan belajar bagaimana angka bekerja di dalam komputer dan beberapa keajaiban yang menyertainya. -)

Lebih detail. Meskipun ini tidak berguna secara langsung di aplikasi web atau sebagian besar aplikasi desktop, hal ini sangat berguna untuk diketahui

Pada artikel ini Anda akan belajar cara menggunakan bilangan biner dengan Python, cara mengonversinya menjadi desimal, dan cara melakukan operasi bitwise pada bilangan tersebut.

Kursus terkait
Bootcamp Pemrograman Python. Mulai dari nol menjadi pahlawan

Bilangan biner


Pada tingkat terendah, komputer tidak memiliki gagasan apa pun tentang angka kecuali 'ada sinyal' atau 'ini bukan sinyal'. Anda dapat menganggap ini sebagai sakelar lampu. Entah sakelar itu hidup atau mati

Jumlah informasi yang sangat kecil ini, jumlah informasi terkecil yang dapat Anda simpan di komputer, dikenal sebagai sedikit. Kami mewakili sedikit sebagai rendah (0) atau tinggi (1)

Untuk mewakili angka yang lebih tinggi dari 1, lahirlah ide untuk menggunakan urutan bit. Urutan delapan bit dapat menyimpan angka yang jauh lebih besar, ini disebut byte. Urutan yang terdiri dari satu dan nol dikenal sebagai biner . Sistem penghitungan tradisional kami dengan sepuluh digit dikenal sebagai desimal.

Bilangan biner dan representasi desimalnya.
Bagaimana Anda mendefinisikan bilangan biner dengan python?
Binary numbers and their decimal representation.

Mari kita lihat itu dalam praktik

# Prints out a few binary numbers.
print int('00', 2)
print int('01', 2)
print int('10', 2)
print int('11', 2)


Parameter kedua 2, memberi tahu Python bahwa kita memiliki angka berdasarkan 2 elemen (1 dan 0). Untuk mengubah byte (8 bit) menjadi desimal, cukup tulis kombinasi delapan bit pada parameter pertama

# Prints out a few binary numbers.
print int('00000010', 2) # outputs 2
print int('00000011', 2) # outputs 3
print int('00010001', 2) # outputs 17
print int('11111111', 2) # outputs 255
_

Bagaimana komputer melakukan ini?

Angka '00010001' adalah (1 x 2^0) + (0 x 2^1) + (0 x 2^2) + (0 x 2^3) + (1 x 2^4) + (0 x 2 . Ingat, baca dari kanan ke kiri

Angka '00110010' adalah (0 x 2^0) + (1 x 2^1) + (0 x 2^2) + (0 x 2^3) + (1 x 2^4) + (1 x

Coba sendiri urutan '00101010' untuk melihat apakah Anda memahami dan memverifikasi dengan program Python

Operasi logika dengan bilangan biner

Pergeseran Kiri Biner dan Pergeseran Kanan Biner
Perkalian dengan faktor dua dan pembagian dengan faktor dua sangat mudah dalam biner. Kami hanya menggeser bit ke kiri atau ke kanan. Kami bergeser ke kiri bawah

Bit 4 Bit 3 Bit 2 Bit 101011010

Before shifting (0,1,0,1) we have the number 5 . After shifting (1,0,1,0) we have the number 10. In python you can use the bitwise left operator (<<) to shift left and the bitwise right operator (>>) to shift right.

inputA = int('0101',2)

print "Before shifting " + str(inputA) + " " + bin(inputA)
print "After shifting in binary: " + bin(inputA << 1)
print "After shifting in decimal: " + str(inputA << 1)

Keluaran

Before shifting 5 0b101
After shifting in binary: 0b1010
After shifting in decimal: 10

Operator DAN


Dengan dua input, komputer dapat melakukan beberapa operasi logika dengan bit tersebut. Mari ambil operator AND. Jika input A dan input B positif, outputnya akan positif. Kami akan mendemonstrasikan operator AND secara grafis, dua yang kiri adalah input A dan input B, lingkaran kanan adalah outputnya.
Bitwise AND
Bagaimana Anda mendefinisikan bilangan biner dengan python?
Bitwise AND

Dalam kode ini sesederhana menggunakan simbol &, yang mewakili operator Logical AND

# This code will execute a bitwise logical AND. Both inputA and inputB are bits.
inputA = 1
inputB = 1

print inputA & inputB # Bitwise AND
_

Dengan mengubah input Anda akan mendapatkan hasil yang sama seperti gambar di atas. Kita dapat melakukan operator AND secara berurutan

inputA = int('00100011',2)   # define binary sequence inputA
inputB = int('00101101',2) # define binary sequence inputB

print bin(inputA & inputB) # logical AND on inputA and inputB and output in binary

Keluaran

0b100001   # equals 00100001

_

Ini masuk akal karena jika Anda melakukan operasi dengan tangan

00100011
00101101
-------- Logical bitwise AND
00100001

Operator OR


Setelah Anda mempelajari operator AND, mari kita lihat operator OR. Diberikan dua input, output akan menjadi nol hanya jika A dan B keduanya nol.
bitwise biner ATAU
Bagaimana Anda mendefinisikan bilangan biner dengan python?
binary bitwise OR

Untuk mengeksekusinya, kita menggunakan. operator. Urutan bit dapat dengan mudah dieksekusi seperti ini

inputA = int('00100011',2)  # define binary number
inputB = int('00101101',2) # define binary number

print bin(inputA) # prints inputA in binary
print bin(inputB) # prints inputB in binary
print bin(inputA | inputB) # Execute bitwise logical OR and print result in binary

_

Keluaran

0b100011
0b101101
0b101111

_

Operator XOR


Ini adalah operator yang menarik. OR Eksklusif atau singkatnya XOR.
bitwise XOR
Bagaimana Anda mendefinisikan bilangan biner dengan python?
bitwise XOR

Untuk menjalankannya, kami menggunakan operator ^. Urutan bit dapat dengan mudah dieksekusi seperti ini

# Prints out a few binary numbers.
print int('00000010', 2) # outputs 2
print int('00000011', 2) # outputs 3
print int('00010001', 2) # outputs 17
print int('11111111', 2) # outputs 255
_0

Keluaran

# Prints out a few binary numbers.
print int('00000010', 2) # outputs 2
print int('00000011', 2) # outputs 3
print int('00010001', 2) # outputs 17
print int('11111111', 2) # outputs 255
_1


Diposting di pemula


14-06-2015

  • byte
  • python





Tinggalkan Balasan

Jangan isi ini jika Anda manusia.

Nama

Alamat email

Pesan

Mengirim pesan


Sourabh Sen, 01 Jun 2015

mengapa ini terjadi???

# Prints out a few binary numbers.
print int('00000010', 2) # outputs 2
print int('00000011', 2) # outputs 3
print int('00010001', 2) # outputs 17
print int('11111111', 2) # outputs 255
_2

Frank Sen, 01 Jun 2015

Mereka adalah operator yang berbeda, dengan cara yang sama seperti * dan + adalah operator yang berbeda. Yang pertama membandingkan bit, yang kedua membandingkan kedua pernyataan dan harus digunakan seolah-olah (a dan b) kemudian;

Yang pertama adalah bitwise logis dan. Ini membandingkan bit, jika keduanya 1 maka akan menjadi 1, jika tidak 0. Artinya komputer hanya melihat jika ada 'tinggi' pada kedua angka pada posisi yang sama

# Prints out a few binary numbers.
print int('00000010', 2) # outputs 2
print int('00000011', 2) # outputs 3
print int('00010001', 2) # outputs 17
print int('11111111', 2) # outputs 255
_3

Yang kedua bukan logika dan operator bitwise dan hanya normal dan operator. Jika A dan B maka benar
Saya harap saya menjelaskan dengan baik, jika Anda memiliki pertanyaan jangan ragu untuk bertanya. Semoga Anda menikmati situs saya. -)

Blackcloud12 Rabu, 22 Juli 2015

berharap mereka membuat tutorial cepat dan to the point untuk semua bahasa seperti yang telah Anda lakukan

Gloomshroud Jum, 16 Okt 2015

Sepakat. Tuts ini luar biasa. Mereka ringkas, namun dikemas penuh dengan informasi penting. Ini adalah satu-satunya seri tutorial yang saya temukan yang A) dapat masuk ke operasi bitwise atau B) melakukannya dengan baik sama sekali

Ezio Sab, 20 Feb 2016

Bagaimana melakukan operasi NOT logis menggunakan cara ini?

Frank Sen, 22 Feb 2016

Anda dapat menggunakan operator ~ jika Anda menginginkan pelengkap. Ikhtisar operator ada di sini. https. //wiki. python. org/koin/Operator Bitwise

Bagaimana Anda mendefinisikan angka dalam biner?

Sistem Bilangan Biner. Menurut elektronika digital dan matematika, bilangan biner didefinisikan sebagai bilangan yang dinyatakan dalam sistem biner atau sistem bilangan basis 2 . Ini menggambarkan nilai numerik dengan dua simbol terpisah; . Sistem basis-2 adalah notasi posisi dengan 2 sebagai radix.

Bagaimana Anda membuat nilai biner?

Untuk mengonversi bilangan bulat ke biner, mulailah dengan bilangan bulat yang dimaksud dan bagi dengan 2 dengan memperhatikan hasil bagi dan sisanya. Lanjutkan membagi hasil bagi dengan 2 sampai Anda mendapatkan hasil bagi nol. Kemudian tulis saja sisanya dalam urutan terbalik. Berikut adalah contoh konversi tersebut menggunakan bilangan bulat 12

Bagaimana Anda menambahkan angka biner dengan Python?

b1='100010' #Nilai desimal. 34
b2='101001' #Nilai desimal. 41
res = bin(int(b1,2) + int(b2,2)) #Meneruskan nilai dasar 2 untuk biner ke fungsi int()
cetak(res)
#Jika pengguna ingin menghilangkan akhiran '0b' di awal
cetak(res[2. ])

Apa itu 0b dengan Python?

0b adalah awalan Python untuk representasi bilangan biner .