KomputerPengaturcaraan

Kod perduaan. Jenis dan panjang kod perduaan. Kod perduaan terbalik

Kod perduaan merupakan bentuk perekaman maklumat dalam bentuk unit dan nol. Sistem kalkulus sedemikian berpasangan dengan asas 2. Sehingga kini, kod binari (jadual yang dibentangkan di bawah ini mengandungi beberapa contoh nombor penulisan) digunakan dalam semua peranti digital tanpa pengecualian. Popularitinya adalah kerana kebolehpercayaan dan kesederhanaan yang tinggi dalam bentuk rakaman ini. Aritmetika binari adalah sangat mudah, dengan itu, ia mudah dilaksanakan dan pada tahap perkakasan. Komponen elektronik digital (atau kerana ia juga dipanggil - logik) sangat dipercayai, kerana ia beroperasi dalam operasi dengan hanya dua keadaan: satu unit logik (terdapat arus) dan logik sifar (tidak ada arus). Oleh itu, mereka lebih baik daripada komponen analog, iaitu kerja yang berdasarkan proses sementara.

Bagaimanakah bentuk rekod binari terbentuk?

Mari lihat bagaimana kunci ini terbentuk. Satu kod perduaan tunggal boleh mengandungi hanya dua keadaan: sifar dan satu (0 dan 1). Apabila dua digit digunakan, boleh menulis empat nilai: 00, 01, 10, 11. Rekod tiga angka mengandungi lapan keadaan: 000, 001 ... 110, 111. Akibatnya, panjang kod binari bergantung kepada bilangan digit. Ungkapan ini boleh ditulis menggunakan formula berikut: N = 2m, di mana: m ialah bilangan digit, dan N adalah bilangan kombinasi.

Jenis Kod Perduaan

Dalam mikropemproses, kunci ini digunakan untuk merekodkan pelbagai maklumat yang diproses. Kedalaman bit kod perduaan dapat dengan ketara melebihi kedalaman bit pemproses dan memori terbina dalamnya. Dalam kes sedemikian, bilangan panjang menempati beberapa sel memori dan diproses menggunakan beberapa arahan. Dalam kes ini, semua sektor ingatan yang diperuntukkan kepada kod binari multibyte dianggap sebagai satu nombor. Bergantung kepada keperluan untuk menyediakan maklumat ini atau itu, jenis kunci berikut dibezakan:

  • Unsigned;
  • Kod aksara keseluruhan secara langsung;
  • Ditandatangani ke belakang;
  • Ditandatangani tambahan;
  • Kod kelabu;
  • Kod Grey-Express.;
  • Kod pecahan.

Marilah kita mempertimbangkan lebih terperinci setiap satu daripada mereka.

Kod binari yang tidak ditandatangani

Mari kita lihat apa jenis rekod ini. Secara keseluruhan kod unsigned, setiap digit (binari) mewakili kuasa dua. Dalam kes ini, nombor terkecil yang boleh ditulis dalam bentuk ini adalah sifar, dan maksimum boleh diwakili oleh formula berikut: M = 2 n- 1. Kedua-dua nombor ini benar-benar mentakrifkan kekunci kunci yang boleh menyatakan kod perduaan sedemikian. Mari kita perhatikan kemungkinan bentuk rakaman ini. Sekiranya anda menggunakan jenis kunci yang tidak ditandatangani yang terdiri daripada lapan digit, julat bilangan yang mungkin dari 0 hingga 255. Kod enam belas digit akan mempunyai julat dari 0 hingga 65535. Dalam pemproses lapan bit, dua sektor memori digunakan untuk menyimpan dan menulis nombor tersebut, yang terletak di destinasi-destinasi jiran . Perintah khas menyediakan kerja dengan kunci tersebut.

Kod tanda integer terus

Dalam jenis kunci perduaan ini, bit paling penting digunakan untuk menulis tanda nombor. Sifar sepadan dengan tambah, dan satu sepadan dengan tanda tolak. Sebagai hasil memperkenalkan digit ini, julat nombor kod dikalihkan ke sisi negatif. Ternyata kunci binari keseluruhan yang ditandatangani lapan angka boleh menulis nombor dalam julat dari -127 hingga +127. Enam belas angka - dalam julat dari -32767 hingga +32767. Dalam mikropemproses lapan bit, dua sektor bersebelahan digunakan untuk menyimpan kod tersebut.

Kelemahan dalam bentuk tulisan ini adalah bahawa kunci dan digit digital kunci perlu diproses secara berasingan. Algoritma untuk program yang bekerja dengan kod ini sangat rumit. Untuk menukar dan memperuntukkan digit yang ditandatangani, anda mesti menggunakan mekanisme penutupan simbol ini, yang menyumbang kepada peningkatan mendadak dalam saiz perisian dan mengurangkan prestasinya. Untuk menghapuskan kelemahan ini, kunci utama baru diperkenalkan-kod binari songsang.

Tandatangan kunci terbalik

Bentuk rakaman ini berbeza daripada kod langsung hanya dengan nombor negatif di dalamnya diperolehi dengan membalikkan semua bit kunci. Pada masa yang sama, digit digital dan ditandatangani adalah sama. Terima kasih kepada ini, algoritma untuk bekerja dengan jenis kod ini sangat dipermudahkan. Walau bagaimanapun, kekunci sebaliknya memerlukan algoritma khas untuk mengiktiraf digit pertama, mengira nilai mutlak nombor tersebut. Dan juga pemulihan tanda nilai yang terhasil. Selain itu, dalam kod songsang dan ke hadapan nombor untuk menulis sifar, gunakan dua kekunci. Walaupun nilai ini tidak mempunyai tanda positif atau negatif.

Menandatangani kod nombor perduaan tambahan

Rekod jenis ini tidak mempunyai kekurangan tersenarai kekunci sebelumnya. Kod tersebut membenarkan penjumlahan langsung kedua-dua nombor positif dan negatif. Pada masa yang sama, analisis tanda pelepasan tidak dijalankan. Semua ini menjadi mustahil kerana nombor tambahan mewakili cincin simbol semulajadi, bukannya entiti buatan, seperti kunci langsung dan terbalik. Selain itu, satu faktor penting adalah bahawa ia adalah sangat mudah untuk mengira penambahan dalam kod binari. Untuk ini cukup untuk menambah satu ke kunci belakang. Jika anda menggunakan kod aksara jenis ini yang terdiri daripada lapan digit, julat bilangan yang mungkin akan dari -128 hingga +127. Kunci enam belas digit akan mempunyai julat dari -32768 hingga + 32767. Dalam pemproses lapan bit, dua sektor bersebelahan juga digunakan untuk menyimpan nombor tersebut.

Kod tambahan binari menarik oleh kesan yang diperhatikan, yang dipanggil fenomena penyebaran tanda itu. Mari kita lihat apa maksudnya. Kesan ini terdiri daripada hakikat bahawa semasa penukaran nilai satu-bait ke satu-dua bait, setiap bit bait pesanan tinggi perlu diberikan nilai bit tanda bit bait yang paling kecil. Ternyata, untuk menyimpan watak watak nombor adalah mungkin untuk menggunakan bit senior. Dalam kes ini, nilai kunci tidak berubah sama sekali.

Kod Kelabu

Bentuk rekod ini, sebenarnya, adalah kunci satu langkah. Iaitu, semasa peralihan dari satu nilai ke yang lain, hanya satu perubahan maklumat. Dalam kes ini, ralat dalam membaca data membawa kepada peralihan dari satu kedudukan ke posisi yang lain dengan pergeseran masa yang sedikit. Walau bagaimanapun, memperoleh keputusan yang salah sepenuhnya dari kedudukan sudut dalam proses sedemikian benar-benar dihapuskan. Kelebihan kod ini adalah keupayaannya untuk mencerminkan maklumat. Sebagai contoh, dengan membalikkan bit pesanan tinggi, anda hanya boleh menukar arah kiraannya. Ini disebabkan oleh kawalan input yang disambungkan. Dalam kes ini, nilai output boleh meningkat atau menurun pada satu arah putaran paksi fizikal. Memandangkan maklumat yang direkodkan dalam kekunci Gray mempunyai kod berkod tersendiri yang tidak membawa data angka sebenar, adalah perlu terlebih dahulu untuk menukarnya menjadi bentuk rekod perduaan biasa sebelum kerja selanjutnya. Ini dilakukan menggunakan penukar khas - penyahkod Gray-Binar. Peranti ini mudah dilaksanakan pada unsur-unsur logik asas kedua-dua perkakasan dan perisian.

Kod Gray-Express

Wrench satu langkah standard Grey sesuai untuk penyelesaian yang diwakili sebagai nombor yang dibangkitkan kepada kuasa dua. Dalam kes-kes di mana perlu untuk melaksanakan penyelesaian lain, bentuk rakaman ini dipotong dan hanya bahagian tengah digunakan. Akibatnya, kekunci itu dipegang satu langkah. Walau bagaimanapun, dalam kod ini, permulaan julat angka tidak sifar. Ia berpindah ke nilai yang ditentukan. Dalam proses memproses data dari denyutan yang dijana, separuh perbezaan antara resolusi permulaan dan penurunan dikurangkan.

Perwakilan nombor pecahan dalam kunci binari dengan koma tetap

Dalam proses kerja, adalah perlu untuk beroperasi bukan sahaja dalam jumlah keseluruhan, tetapi juga dalam pecahan. Nombor tersebut boleh ditulis menggunakan kod langsung, songsang dan tambahan. Prinsip membina kunci yang disebutkan adalah sama dengan kunci keseluruhan. Sehingga kini, kami percaya bahawa koma perduaan harus berada di sebelah kanan perintah yang lebih rendah. Tetapi ini tidak begitu. Ia boleh diletakkan di sebelah kiri digit tertinggi (dalam kes ini, hanya nombor pecahan boleh ditulis sebagai pemboleh ubah), dan di tengah-tengah pemboleh ubah (nilai campuran boleh ditulis).

Perwakilan mata terapung binari terapung

Borang ini digunakan untuk menulis nombor besar, atau sebaliknya - sangat kecil. Satu contoh ialah jarak interstellar atau saiz atom dan elektron. Apabila mengira nilai tersebut, kita perlu menggunakan kod binari dengan lebar bit yang sangat besar. Walau bagaimanapun, kita tidak perlu mengambil kira jarak kosmik dalam lingkungan milimeter. Oleh itu, bentuk rakaman dengan koma tetap tidak berkesan dalam kes ini. Untuk memaparkan kod tersebut, borang algebra digunakan. Iaitu, nombor itu ditulis sebagai mantissa yang didarabkan sebanyak sepuluh kepada kuasa yang mencerminkan susunan nombor yang dikehendaki. Anda harus tahu bahawa mantissa tidak boleh melebihi satu, dan selepas koma, nol tidak boleh direkodkan.

Ia menarik.

Dipercayai bahawa kalkulus binari dicipta pada awal abad ke-18 oleh ahli matematik dari Jerman Gottfried Leibniz. Walau bagaimanapun, seperti yang ditemui oleh saintis baru-baru ini, lama sebelum ini, orang asli dari pulau Polynesian Mangarevu menggunakan jenis aritmetik seperti ini. Walaupun fakta bahawa penjajahan hampir menghancurkan sistem kalkulus asal, saintis telah memulihkan jenis akaun binari dan perpuluhan kompleks. Di samping itu, saintis Cognitivist Nunez berpendapat bahawa pengekodan binari digunakan di China purba setakat abad ke-9 SM. E. Tamadun purba lain, contohnya, Maya India, juga menggunakan gabungan kompleks sistem perpuluhan dan perduaan untuk mengesan selang masa dan fenomena astronomi.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ms.atomiyme.com. Theme powered by WordPress.