Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Bilangan Biner Negatif

Dengan penjumlahan yang mudah dilakukan, kita dapat melakukan operasi pengurangan dengan teknik yang sama hanya dengan membuat salah satu bilangan menjadi negatif. Misalnya, soal pengurangan 7 - 5 pada dasarnya sama dengan soal penjumlahan 7 + (-5).

Karena kita sudah tahu cara merepresentasikan bilangan positif dalam biner, yang perlu kita ketahui sekarang adalah bagaimana merepresentasikan pasangan negatifnya dan kita akan dapat menguranginya.

Biasanya kita merepresentasikan bilangan desimal negatif dengan menempatkan tanda minus langsung di sebelah kiri digit paling signifikan, seperti pada contoh di atas, dengan -5. Namun, seluruh tujuan penggunaan notasi biner adalah untuk membangun sirkuit hidup/mati yang dapat mewakili nilai bit dalam bentuk tegangan (2 nilai alternatif:"tinggi" atau "rendah").

Dalam konteks ini, kami tidak memiliki kemewahan simbol ketiga seperti tanda "minus", karena sirkuit ini hanya dapat hidup atau mati (dua kemungkinan keadaan). Salah satu solusinya adalah mencadangkan bit (sirkuit) yang tidak melakukan apa pun selain mewakili tanda matematika:


Seperti yang Anda lihat, kita harus berhati-hati saat mulai menggunakan bit untuk tujuan apa pun selain nilai pembobotan tempat standar. Jika tidak, 11012 bisa disalahartikan sebagai angka tiga belas padahal sebenarnya yang kami maksud adalah angka negatif lima.

Untuk menjaga semuanya tetap lurus di sini, pertama-tama kita harus memutuskan berapa banyak bit yang akan dibutuhkan untuk mewakili angka terbesar yang akan kita tangani, dan kemudian pastikan untuk tidak melebihi panjang bidang bit itu dalam operasi aritmatika kita.

Untuk contoh di atas, saya membatasi diri pada representasi angka dari tujuh negatif (11112 ) menjadi positif tujuh (01112 ), dan tidak lebih, dengan menjadikan bit keempat sebagai bit "tanda". Hanya dengan menetapkan batas-batas ini terlebih dahulu, saya dapat menghindari kebingungan antara bilangan negatif dengan bilangan positif yang lebih besar.

Mewakili lima negatif sebagai 11012 adalah contoh sistem tanda-besarnya bilangan biner negatif. Dengan menggunakan bit paling kiri sebagai indikator tanda dan bukan nilai pembobotan tempat, saya mengorbankan bentuk notasi biner "murni" untuk sesuatu yang memberi saya keuntungan praktis:representasi bilangan negatif.

Bit paling kiri dibaca sebagai tanda, baik positif atau negatif, dan bit sisanya diinterpretasikan menurut notasi biner standar:kiri ke kanan, tempatkan bobot dalam kelipatan dua.

Komplementasi

Sesederhana pendekatan tanda-besarnya, itu tidak terlalu praktis untuk tujuan aritmatika. Misalnya, bagaimana cara menambahkan lima negatif (11012 ) ke bilangan lain, menggunakan teknik standar untuk penjumlahan biner?

Saya harus menemukan cara baru dalam melakukan penjumlahan agar dapat bekerja, dan jika saya melakukannya, saya mungkin juga melakukan pekerjaan dengan pengurangan tangan; tidak ada keuntungan aritmatika menggunakan bilangan negatif untuk melakukan pengurangan melalui penjumlahan jika kita harus melakukannya dengan penomoran tanda-besar, dan itulah tujuan kita!

Ada metode lain untuk mewakili bilangan negatif yang bekerja dengan kita teknik penjumlahan tangan yang familiar, dan juga lebih masuk akal dari sudut pandang penomoran berbobot tempat, yang disebut komplementasi.

Dengan strategi ini, kami menetapkan bit paling kiri untuk melayani tujuan khusus, seperti yang kami lakukan dengan pendekatan tanda-besar, mendefinisikan batas jumlah kami seperti sebelumnya. Namun, kali ini, bit paling kiri lebih dari sekadar bit tanda; sebaliknya, ia memiliki nilai bobot tempat negatif. Misalnya, nilai negatif lima akan direpresentasikan sebagai berikut:

Dengan tiga bit kanan yang dapat mewakili besaran dari nol hingga tujuh, dan bit paling kiri mewakili nol atau negatif delapan, kita dapat berhasil mewakili bilangan bulat apa pun dari negatif tujuh (10012 =-810 + 12 =-710 ) menjadi positif tujuh (01112 =010 + 710 =710 ).

Mewakili bilangan positif dalam skema ini (dengan bit keempat ditunjuk sebagai bobot negatif) tidak berbeda dengan notasi biner biasa. Namun, mewakili angka negatif tidak semudah itu:

Perhatikan bahwa bilangan biner negatif di kolom kanan, yang merupakan jumlah dari total tiga bit kanan ditambah delapan negatif dari bit paling kiri, jangan “dihitung” dalam perkembangan yang sama dengan bilangan biner positif di kolom kiri.

Sebaliknya, tiga bit kanan harus ditetapkan pada nilai yang tepat untuk menyamai total (negatif) yang diinginkan ketika dijumlahkan dengan nilai delapan tempat negatif dari bit paling kiri.

Pelengkap Dua

Tiga bit kanan tersebut disebut sebagai komplemen dua dari bilangan positif yang sesuai. Perhatikan perbandingan berikut:

Dalam kasus ini, dengan bit bobot negatif menjadi bit keempat (nilai tempat dari negatif delapan), komplemen dua untuk bilangan positif apa pun akan menjadi nilai apa pun yang diperlukan untuk menambahkan ke negatif delapan untuk membuat nilai positif tersebut setara dengan negatif.

Untungnya, ada cara mudah untuk mengetahui komplemen keduanya untuk bilangan biner apa pun:cukup balikkan semua bit dari angka itu, ubah semua 1 menjadi 0 dan sebaliknya (untuk sampai pada apa yang disebut komplemen satu) dan kemudian tambahkan satu! Misalnya, untuk mendapatkan komplemen dua dari lima (1012 ), pertama-tama kita akan membalikkan semua bit untuk mendapatkan 0102 ("pelengkap satu"), lalu tambahkan satu untuk mendapatkan 0112 , atau -510 dalam tiga-bit, bentuk komplemen dua

Cukup menarik, menghasilkan komplemen dua dari bilangan biner bekerja sama jika Anda memanipulasi semua bit, termasuk bit paling kiri (tanda) pada saat yang sama dengan bit besarnya. Mari kita coba ini dengan contoh sebelumnya, mengonversi lima positif menjadi lima negatif, tetapi melakukan proses pelengkapan pada keempat bit.

Kita harus yakin untuk memasukkan bit tanda 0 (positif) pada nomor asli, lima (01012 ). Pertama, inversi semua bit untuk mendapatkan komplemen satu:10102 . Kemudian, menambahkan satu, kita mendapatkan jawaban akhir:10112 , atau -510 dinyatakan dalam bentuk komplemen dua bit empat.

Sangat penting untuk diingat bahwa tempat bit berbobot negatif harus sudah ditentukan sebelum konversi komplemen dua mana pun dapat dilakukan. Jika bidang penomoran biner kami sedemikian rupa sehingga bit kedelapan ditetapkan sebagai bit berbobot negatif (100000002 ), kita harus menentukan komplemen keduanya berdasarkan ketujuh bit lainnya.

Di sini, komplemen dua dari lima (00001012 ) akan menjadi 11110112 . Lima positif dalam sistem ini akan direpresentasikan sebagai 000001012 , dan lima negatif sebagai 111110112 .

LEMBAR KERJA TERKAIT:

  • Lembar Kerja Matematika Biner

Teknologi Industri

  1. Penghitung Biner 3-bit
  2. Penomoran Oktal dan Heksadesimal
  3. Angka versus Penomoran
  4. Pengurangan Biner
  5. Umpan Balik Negatif
  6. Algoritma Java
  7. Angka dalam C++
  8. MATLAB - Angka
  9. Python - Angka
  10. Memulai dengan Go di PLCnext