Bilangan Biner Bertanda (Signed)
Bilangan Biner yang bertanda menggunakan MSB sebagai bit tanda untuk menampilkan kisaran angka positif atau negatif.
Dalam matematika, angka positif (termasuk nol) direpresentasikan sebagai angka yang tidak bertanda. Artinya kita tidak meletakkan tanda +ve di depan mereka untuk menunjukkan bahwa mereka adalah angka positif.
Namun, ketika berhadapan dengan angka negatif kita menggunakan tanda -ve di depan angka untuk menunjukkan bahwa angka tersebut bernilai negatif dan berbeda dari nilai tak-bertanda (unsigned) positif, dan hal yang sama berlaku dengan bilangan biner yang bertanda.
Namun, dalam rangkaian digital tidak ada ketentuan yang dibuat untuk menempatkan tanda tambah atau bahkan minus ke angka, karena sistem digital beroperasi dengan angka biner yang direpresentasikan dalam istilah "0" dan "1".
Ketika digunakan bersama dalam mikroelektronika, "0" dan "1" ini, disebut bit (menjadi kontraksi BInary digiT ), terbagi dalam beberapa ukuran rentang bilangan yang disebut dengan nama umum, seperti byte atau word.
Kita juga telah melihat sebelumnya bahwa angka biner 8-bit (byte) dapat memiliki nilai mulai dari 0 (000000002) hingga 255 (111111112), yaitu 28 = 256 kombinasi bit yang berbeda membentuk 8-bit tunggal byte.
Jadi misalnya angka biner yang tidak ditandatangani seperti: 010011012 = 64 + 8 + 4 + 1 = 7710 dalam desimal. Tetapi sistem digital dan komputer juga harus dapat menggunakan dan memanipulasi bilangan negatif serta angka positif.
Bilangan matematika umumnya terdiri dari tanda dan nilai (besarnya) di mana tanda menunjukkan apakah angka tersebut positif, ( + ) atau negatif, ( - ) dengan nilai yang menunjukkan ukuran angka, misalnya 23, + 156 atau -274.
Menyajikan bilangan adalah cara ini disebut representasi "tanda-magnitudo" karena digit paling kiri dapat digunakan untuk menunjukkan tanda dan sisa digit besarnya atau nilai angka.
Notasi tanda magnitudo adalah yang paling sederhana dan salah satu metode paling umum untuk merepresentasikan angka positif dan negatif di kedua sisi nol, ( 0 ).
Dengan demikian bilangan negatif diperoleh hanya dengan mengubah tanda dari angka positif yang sesuai karena setiap angka positif atau tidak bertanda akan memiliki kebalikan tanda, misalnya, +2 dan -2, +10 dan -10, dll.
Tetapi bagaimana kita merepresentasikan angka biner yang ditandai jika yang kita miliki hanyalah angka satu dan nol.
Kita tahu bahwa digit biner, atau bit hanya memiliki dua nilai, baik "1" atau "0" dan mudah bagi kita, sebuah tanda juga hanya memiliki dua nilai, menjadi " + " atau " - ".
Kemudian kita dapat menggunakan bit tunggal untuk mengidentifikasi tanda bilangan biner yang ditandai sebagai nilai positif atau negatif.
Jadi untuk mewakili bilangan biner positif ( +n ) dan bilangan biner negatif ( -n ), kita dapat menggunakannya dengan penambahan tanda.
Untuk bilangan biner yang ditandatangani, bit yang paling signifikan (MSB) digunakan sebagai bit tanda. Jika bit tanda adalah "0", ini berarti jumlahnya bernilai positif. Jika tanda bit adalah "1", maka angkanya bernilai negatif.
Bit yang tersisa dalam angka tersebut digunakan untuk mewakili besarnya angka biner dengan cara format angka biner biasa yang tidak ditandai.
Kemudian kita dapat melihat bahwa notasi Sign-and-Magnitude (SM) menyimpan nilai positif dan negatif dengan membagi bit total “n” menjadi dua bagian: 1 bit untuk tanda dan n – 1 bit untuk nilai yang merupakan biner murni jumlah.
Misalnya, angka desimal 53 dapat dinyatakan sebagai angka biner bertanda 8-bit sebagai berikut.
Kekurangan di sini adalah bahwa sementara sebelum kami memiliki berbagai n-bit bilangan biner bertanda, kami sekarang memiliki bit n-1 bertanda bilangan biner memberikan berbagai mengurangi angka dari:
-2(n-1) hingga +2(n-1)
Jadi misalnya: jika kita memiliki 4 bit untuk mewakili bilangan biner yang ditandai, (1-bit untuk bit Tanda dan 3-bit untuk bit Besarnya ), maka kisaran angka aktual yang dapat kita wakili dalam notasi Tanda-Besarnya (sign-magnitude) adalah :
-2(4-1) - 1 hingga +22(4-1) - 1
-2(3) - 1 hingga +2(3) - 1
-7 hingga +7
Sedangkan sebelumnya, kisaran angka biner 4-bit yang tidak bertanda dari 0 hingga 15, atau 0 hingga F dalam heksadesimal, kami sekarang memiliki kisaran pengurangan -7 hingga +7.
Jadi bilangan biner yang tidak bertanda tidak memiliki bit tanda tunggal, dan karenanya dapat memiliki rentang biner yang lebih besar karena bit yang paling signifikan (MSB) hanya bit atau digit tambahan daripada bit tanda yang digunakan.
Kekurangan lain di sini dari bentuk tanda-besarnya adalah bahwa kita dapat memiliki hasil positif untuk nol, +0 atau 00002, dan hasil negatif untuk nol, -0 atau 10002. Keduanya valid tetapi mana yang benar.
-1510 sebagai angka 6-bit ⇒ 1011112
+2310 sebagai angka 6-bit ⇒ 0101112
-5610 sebagai angka 8-bit ⇒ 101110002
+8510 sebagai angka 8-bit ⇒ 010101012
-12710 sebagai angka 8-bit ⇒ 111111112
Perhatikan bahwa untuk nomor biner bertanda 4-bit, 6-bit, 8-bit, 16-bit, atau 32-bit semua bit HARUS memiliki nilai, oleh karena itu “0” digunakan untuk mengisi spasi antara bit tanda paling kiri dan nilai pertama atau tertinggi "1".
Representasi tanda-besaran dari bilangan biner adalah metode sederhana untuk menggunakan dan memahami untuk mewakili bilangan biner yang bertanda, karena kami menggunakan sistem ini sepanjang waktu dengan bilangan desimal normal (basis 10) dalam matematika.
Menambahkan "1" di depannya jika bilangan biner negatif dan "0" jika positif. Namun, menggunakan metode tanda-besaran (sign-magnitude) ini dapat menghasilkan kemungkinan dua pola bit yang berbeda memiliki nilai biner yang sama.
Sebagai contoh, +0 dan -0 akan menjadi masing-masing 0000 dan 1000 sebagai angka biner 4-bit yang bertanda. Jadi kita dapat melihat bahwa menggunakan metode ini dapat ada dua representasi untuk nol, nol positif ( 00002) dan juga nol negatif (10002) yang dapat menyebabkan komplikasi besar untuk komputer dan sistem digital.
Dalam komplemen satuan, bilangan positif (juga dikenal sebagai non-komplemen) tetap tidak berubah seperti sebelumnya dengan bilangan sign-magnitude. Namun bilangan negatif diwakili dengan mengambil komplemen satuan (inversi, negasi) dari bilangan positif yang tidak bertanda.
Karena bilangan positif selalu dimulai dengan "0", komplemen akan selalu dimulai dengan "1" untuk menunjukkan bilangan negatif.
Komplemen satuan dari bilangan biner negatif adalah komplemen dari lawan positifnya, jadi untuk mengambil komplemen satuan dari bilangan biner, yang perlu kita lakukan adalah mengubah setiap bit pada gilirannya.
Jadi komplemen satuan dari "1" adalah "0" dan sebaliknya, maka komplemen satuan dari 100101002 hanyalah 011010112 karena semua 1 diubah menjadi 0 dan 0 ke 1.
Cara termudah untuk menemukan pelengkap nomor biner yang bertanda ketika membangun rangkaian digital decoder aritmatika atau logika adalah dengan menggunakan Inverter. Inverter secara alami merupakan generator komplemen dan dapat digunakan secara paralel untuk menemukan komplemen 1 dari nomor biner seperti yang ditunjukkan.
Maka kita dapat melihat bahwa sangat mudah untuk menemukan komplemen satuan dari bilangan biner N karena yang perlu kita lakukan hanyalah mengubah angka 1 ke 0 dan angka 0 ke 1 untuk memberi kita setara -N.
Sama seperti representasi sign-magnitude sebelumnya, komplemen satuan juga dapat memiliki notasi n-bit untuk mewakili bilangan dalam rentang dari: -2(n-1) dan +2(n-1) - 1.
Misalnya, representasi 4-bit dalam format komplemen satuan dapat digunakan untuk mewakili bilangan desimal dalam kisaran dari -7 hingga +7 dengan dua representasi nol: 0000 (+0) dan 1111 (-0) sama seperti sebelumnya.
Oleh karena itu, komplikasi pengurangan dua bilangan biner dapat dilakukan dengan hanya menggunakan tambahan.
Kami melihat dalam tutorial Penambahan Biner bahwa penambahan biner mengikuti aturan yang sama dengan penambahan normal kecuali bahwa dalam biner hanya ada dua bit (digit) dan digit terbesar adalah "1", (seperti "9" adalah yang terbesar digit desimal) sehingga kemungkinan kombinasi untuk penambahan biner adalah sebagai berikut:
Ketika dua angka yang ditambahkan keduanya positif, jumlah A + B , mereka dapat ditambahkan bersama-sama dengan cara jumlah langsung (termasuk angka dan tanda bit), karena ketika bit tunggal yang ditambahkan bersama-sama, "0 + 0" , "0 + 1", atau "1 + 0" akan menghasilkan jumlah "0" atau "1".
Ini karena ketika dua bit yang ingin kita tambahkan bersama adalah ganjil ("0" + "1" atau "1 + 0"), hasilnya adalah "1".
Demikian juga ketika dua bit yang akan ditambahkan bersama-sama adalah genap ("0 + 0" atau "1 + 1") hasilnya adalah "0" sampai Anda mendapatkan "1 + 1" maka jumlahnya sama dengan "0" ditambah bawa "1". Mari kita lihat contoh sederhana.
Pertama kita perlu mengubah dua bilangan desimal menjadi biner dan memastikan bahwa setiap angka memiliki jumlah bit yang sama dengan menambahkan nol di depan untuk menghasilkan angka 8-bit (byte). Karena itu:
11510 dalam biner adalah: 011100112
2710 dalam biner adalah: 000110112
Sekarang kita perlu menemukan komplemen dari angka biner kedua, ( 00011011 ) sambil meninggalkan angka pertama ( 01110011 ) tidak berubah. Jadi dengan mengubah semua 1 ke 0 dan 0 ke 1, maka komplemen satu 00011011 adalah sama dengan 11100100 .
Menambahkan angka pertama dan komplemen dari angka kedua memberi:
Karena sistem digital bekerja dengan 8-bit, hanya delapan digit pertama yang digunakan untuk memberikan jawaban atas penjumlahan, dan kami mengabaikan bit terakhir (bit 9).
Bit ini disebut bit “overflow”. Overflow terjadi ketika jumlah kolom paling signifikan (paling kiri) menghasilkan penerusan (carry forward).
Bit overflow atau carry ini dapat diabaikan sepenuhnya atau diteruskan ke bagian digital berikutnya untuk digunakan dalam perhitungannya. Overflow menunjukkan bahwa jawabannya positif. Jika tidak ada overflow maka jawabannya negatif.
Hasil 8-bit dari atas adalah: 01010111 (overflow "1" dibatalkan) dan untuk mengubahnya kembali dari jawaban komplemen saatuan ke jawaban nyata, kita sekarang harus menambahkan "1" ke hasil komplemen satuan, oleh karena itu:
Jadi hasil pengurangan 27 ( 000110112) dari 115 ( 011100112) menggunakan komplemen 1 dalam biner memberikan jawaban: 010110002 atau (64 + 16 + 8) = 8810 dalam desimal.
Kemudian kita dapat melihat bahwa bilangan biner yang bertanda atau tidak bertanda dapat dikurangkan dari satu sama lain menggunakan Komplemen Satu dan proses penambahan.
Penambah biner seperti TTL 74LS83 atau 74LS283 dapat digunakan untuk menambah atau mengurangi dua angka biner 4-bit yang ditandai atau digabung bersama untuk menghasilkan 8-bit penambahan lengkap dengan pelaksanaan.
Dalam komplemen dua, angka positif persis sama dengan sebelumnya untuk bilangan biner yang tidak bertanda. Namun, angka negatif diwakili oleh angka biner, yang bila ditambahkan ke hasil setara/ekuivalen positif terkait menjadi nol.
Dalam bentuk komplemen dua, bilangan negatif adalah pelengkap dua dari bilangan positifnya dengan pengurangan dua bilangan menjadi A - B = A + (komplemen 2 dari B) menggunakan banyak proses yang sama seperti sebelumnya seperti pada dasarnya, komplemen dua adalah komplemen satu +1.
Kelebihan utama dari komplemen dua atas komplemen satu sebelumnya adalah bahwa tidak ada masalah dobel-nol plus jauh lebih mudah untuk menghasilkan komplemen dua dari bilangan biner yang bertanda.
Oleh karena itu, operasi aritmatika relatif lebih mudah dilakukan ketika bilangan diwakili dalam format komplemen dua.
Mari kita lihat pengurangan dua angka 8-bit 115 dan 27 dari atas menggunakan komplemen dua, dan kita ingat dari atas bahwa persamaan binernya adalah:
11510 dalam biner adalah: 011100112
Bilangan kami panjangnya 8-bit, maka ada 28 digit yang tersedia untuk mewakili nilai kami dan dalam biner ini sama dengan: 1000000002 atau 25610. Maka komplemen keduanya dari 2710 adalah:
(28)2 – 00011011 = 100000000 – 00011011 = 111001012
Komplementasi dari angka negatif kedua berarti bahwa pengurangan menjadi penambahan yang jauh lebih mudah dari kedua bilangan tersebut, oleh karena itu jumlahnya adalah: 115 + (komplemen 2 dari 27) yaitu:
01110011 + 11100101 = 1 010110002
Seperti sebelumnya, bit overflow ke-9 diabaikan karena kita hanya tertarik pada 8-bit pertama, sehingga hasilnya adalah: 010110002 atau (64 + 16 + 8) = 8810 dalam desimal sama seperti sebelumnya.
Sebagai contoh, dalam angka biner 4 bit, ini hanya menyisakan 3 bit untuk menampung angka aktual. Namun, jika nomor biner tidak ditandai maka semua bit dapat digunakan untuk mewakili nomor tersebut.
Representasi nomor biner yang bertanda biasanya disebut sebagai not tanda-besaran (sign-magnitude) dan jika bit tanda adalah “0”, angka tersebut positif. Jika tanda bit adalah "1", maka angkanya negatif.
Ketika berhadapan dengan operasi aritmatika biner, akan lebih mudah untuk menggunakan komplemen dari bilangan negatif.
Komplementasi adalah cara alternatif untuk mewakili bilangan biner negatif. Sistem pengkodean alternatif ini memungkinkan untuk pengurangan bilangan negatif dengan menggunakan penambahan sederhana.
Karena bilangan tanda-besaran positif selalu dimulai dengan nol (0), komplemennya akan selalu dimulai dengan satu (1) untuk menunjukkan angka negatif seperti yang ditunjukkan pada tabel berikut.
Bentuk-bentuk bilangan biner yang tanda-komplemen dapat menggunakan komplemen 1 atau komplemen 2. Komplemen 1 dan komplemen 2 dari bilangan biner adalah penting karena mereka mengizinkan representasi bilangan negatif.
Metode aritmatika komplemen 2 umumnya digunakan dalam komputer untuk menangani bilangan negatif.
Satu-satunya kelemahan adalah jika kita ingin merepresentasikan bilangan biner negatif dalam format bilangan biner yang bertanda, kita harus menyerahkan beberapa rentang bilangan positif yang kita miliki sebelumnya.
Dalam matematika, angka positif (termasuk nol) direpresentasikan sebagai angka yang tidak bertanda. Artinya kita tidak meletakkan tanda +ve di depan mereka untuk menunjukkan bahwa mereka adalah angka positif.
Namun, ketika berhadapan dengan angka negatif kita menggunakan tanda -ve di depan angka untuk menunjukkan bahwa angka tersebut bernilai negatif dan berbeda dari nilai tak-bertanda (unsigned) positif, dan hal yang sama berlaku dengan bilangan biner yang bertanda.
Namun, dalam rangkaian digital tidak ada ketentuan yang dibuat untuk menempatkan tanda tambah atau bahkan minus ke angka, karena sistem digital beroperasi dengan angka biner yang direpresentasikan dalam istilah "0" dan "1".
Ketika digunakan bersama dalam mikroelektronika, "0" dan "1" ini, disebut bit (menjadi kontraksi BInary digiT ), terbagi dalam beberapa ukuran rentang bilangan yang disebut dengan nama umum, seperti byte atau word.
Kita juga telah melihat sebelumnya bahwa angka biner 8-bit (byte) dapat memiliki nilai mulai dari 0 (000000002) hingga 255 (111111112), yaitu 28 = 256 kombinasi bit yang berbeda membentuk 8-bit tunggal byte.
Jadi misalnya angka biner yang tidak ditandatangani seperti: 010011012 = 64 + 8 + 4 + 1 = 7710 dalam desimal. Tetapi sistem digital dan komputer juga harus dapat menggunakan dan memanipulasi bilangan negatif serta angka positif.
Bilangan matematika umumnya terdiri dari tanda dan nilai (besarnya) di mana tanda menunjukkan apakah angka tersebut positif, ( + ) atau negatif, ( - ) dengan nilai yang menunjukkan ukuran angka, misalnya 23, + 156 atau -274.
Menyajikan bilangan adalah cara ini disebut representasi "tanda-magnitudo" karena digit paling kiri dapat digunakan untuk menunjukkan tanda dan sisa digit besarnya atau nilai angka.
Notasi tanda magnitudo adalah yang paling sederhana dan salah satu metode paling umum untuk merepresentasikan angka positif dan negatif di kedua sisi nol, ( 0 ).
Dengan demikian bilangan negatif diperoleh hanya dengan mengubah tanda dari angka positif yang sesuai karena setiap angka positif atau tidak bertanda akan memiliki kebalikan tanda, misalnya, +2 dan -2, +10 dan -10, dll.
Tetapi bagaimana kita merepresentasikan angka biner yang ditandai jika yang kita miliki hanyalah angka satu dan nol.
Kita tahu bahwa digit biner, atau bit hanya memiliki dua nilai, baik "1" atau "0" dan mudah bagi kita, sebuah tanda juga hanya memiliki dua nilai, menjadi " + " atau " - ".
Kemudian kita dapat menggunakan bit tunggal untuk mengidentifikasi tanda bilangan biner yang ditandai sebagai nilai positif atau negatif.
Jadi untuk mewakili bilangan biner positif ( +n ) dan bilangan biner negatif ( -n ), kita dapat menggunakannya dengan penambahan tanda.
Untuk bilangan biner yang ditandatangani, bit yang paling signifikan (MSB) digunakan sebagai bit tanda. Jika bit tanda adalah "0", ini berarti jumlahnya bernilai positif. Jika tanda bit adalah "1", maka angkanya bernilai negatif.
Bit yang tersisa dalam angka tersebut digunakan untuk mewakili besarnya angka biner dengan cara format angka biner biasa yang tidak ditandai.
Kemudian kita dapat melihat bahwa notasi Sign-and-Magnitude (SM) menyimpan nilai positif dan negatif dengan membagi bit total “n” menjadi dua bagian: 1 bit untuk tanda dan n – 1 bit untuk nilai yang merupakan biner murni jumlah.
Misalnya, angka desimal 53 dapat dinyatakan sebagai angka biner bertanda 8-bit sebagai berikut.
Bilangan Biner Bertanda Positif
Bilangan Biner yang Bertanda Negatif
Kekurangan di sini adalah bahwa sementara sebelum kami memiliki berbagai n-bit bilangan biner bertanda, kami sekarang memiliki bit n-1 bertanda bilangan biner memberikan berbagai mengurangi angka dari:
-2(n-1) hingga +2(n-1)
Jadi misalnya: jika kita memiliki 4 bit untuk mewakili bilangan biner yang ditandai, (1-bit untuk bit Tanda dan 3-bit untuk bit Besarnya ), maka kisaran angka aktual yang dapat kita wakili dalam notasi Tanda-Besarnya (sign-magnitude) adalah :
-2(4-1) - 1 hingga +22(4-1) - 1
-2(3) - 1 hingga +2(3) - 1
-7 hingga +7
Sedangkan sebelumnya, kisaran angka biner 4-bit yang tidak bertanda dari 0 hingga 15, atau 0 hingga F dalam heksadesimal, kami sekarang memiliki kisaran pengurangan -7 hingga +7.
Jadi bilangan biner yang tidak bertanda tidak memiliki bit tanda tunggal, dan karenanya dapat memiliki rentang biner yang lebih besar karena bit yang paling signifikan (MSB) hanya bit atau digit tambahan daripada bit tanda yang digunakan.
Kekurangan lain di sini dari bentuk tanda-besarnya adalah bahwa kita dapat memiliki hasil positif untuk nol, +0 atau 00002, dan hasil negatif untuk nol, -0 atau 10002. Keduanya valid tetapi mana yang benar.
Contoh Bilangan Biner Yang Bertanda No.1
Ubah nilai desimal berikut menjadi bilangan biner yang bertanda menggunakan format besaran/magnitudo tanda:-1510 sebagai angka 6-bit ⇒ 1011112
+2310 sebagai angka 6-bit ⇒ 0101112
-5610 sebagai angka 8-bit ⇒ 101110002
+8510 sebagai angka 8-bit ⇒ 010101012
-12710 sebagai angka 8-bit ⇒ 111111112
Perhatikan bahwa untuk nomor biner bertanda 4-bit, 6-bit, 8-bit, 16-bit, atau 32-bit semua bit HARUS memiliki nilai, oleh karena itu “0” digunakan untuk mengisi spasi antara bit tanda paling kiri dan nilai pertama atau tertinggi "1".
Representasi tanda-besaran dari bilangan biner adalah metode sederhana untuk menggunakan dan memahami untuk mewakili bilangan biner yang bertanda, karena kami menggunakan sistem ini sepanjang waktu dengan bilangan desimal normal (basis 10) dalam matematika.
Menambahkan "1" di depannya jika bilangan biner negatif dan "0" jika positif. Namun, menggunakan metode tanda-besaran (sign-magnitude) ini dapat menghasilkan kemungkinan dua pola bit yang berbeda memiliki nilai biner yang sama.
Sebagai contoh, +0 dan -0 akan menjadi masing-masing 0000 dan 1000 sebagai angka biner 4-bit yang bertanda. Jadi kita dapat melihat bahwa menggunakan metode ini dapat ada dua representasi untuk nol, nol positif ( 00002) dan juga nol negatif (10002) yang dapat menyebabkan komplikasi besar untuk komputer dan sistem digital.
Pelengkap dari (satu) Bilangan Biner Bertanda
Pelengkap Satu atau Komplemen 1 seperti juga disebut, adalah metode lain yang dapat kita gunakan untuk mewakili bilangan biner negatif dalam sistem bilangan biner yang bertanda.Dalam komplemen satuan, bilangan positif (juga dikenal sebagai non-komplemen) tetap tidak berubah seperti sebelumnya dengan bilangan sign-magnitude. Namun bilangan negatif diwakili dengan mengambil komplemen satuan (inversi, negasi) dari bilangan positif yang tidak bertanda.
Karena bilangan positif selalu dimulai dengan "0", komplemen akan selalu dimulai dengan "1" untuk menunjukkan bilangan negatif.
Komplemen satuan dari bilangan biner negatif adalah komplemen dari lawan positifnya, jadi untuk mengambil komplemen satuan dari bilangan biner, yang perlu kita lakukan adalah mengubah setiap bit pada gilirannya.
Jadi komplemen satuan dari "1" adalah "0" dan sebaliknya, maka komplemen satuan dari 100101002 hanyalah 011010112 karena semua 1 diubah menjadi 0 dan 0 ke 1.
Cara termudah untuk menemukan pelengkap nomor biner yang bertanda ketika membangun rangkaian digital decoder aritmatika atau logika adalah dengan menggunakan Inverter. Inverter secara alami merupakan generator komplemen dan dapat digunakan secara paralel untuk menemukan komplemen 1 dari nomor biner seperti yang ditunjukkan.
Komplemen 1 Menggunakan Inverter
Maka kita dapat melihat bahwa sangat mudah untuk menemukan komplemen satuan dari bilangan biner N karena yang perlu kita lakukan hanyalah mengubah angka 1 ke 0 dan angka 0 ke 1 untuk memberi kita setara -N.
Sama seperti representasi sign-magnitude sebelumnya, komplemen satuan juga dapat memiliki notasi n-bit untuk mewakili bilangan dalam rentang dari: -2(n-1) dan +2(n-1) - 1.
Misalnya, representasi 4-bit dalam format komplemen satuan dapat digunakan untuk mewakili bilangan desimal dalam kisaran dari -7 hingga +7 dengan dua representasi nol: 0000 (+0) dan 1111 (-0) sama seperti sebelumnya.
Penambahan dan Pengurangan Menggunakan Komplemen Satuan
Salah satu kelebihan utama dari Komplemen Satu adalah dalam penambahan dan pengurangan dua bilangan biner. Dalam matematika, pengurangan dapat diimplementasikan dalam berbagai cara berbeda seperti A - B, sama dengan mengatakan A + (-B) atau -B + A dll.Oleh karena itu, komplikasi pengurangan dua bilangan biner dapat dilakukan dengan hanya menggunakan tambahan.
Kami melihat dalam tutorial Penambahan Biner bahwa penambahan biner mengikuti aturan yang sama dengan penambahan normal kecuali bahwa dalam biner hanya ada dua bit (digit) dan digit terbesar adalah "1", (seperti "9" adalah yang terbesar digit desimal) sehingga kemungkinan kombinasi untuk penambahan biner adalah sebagai berikut:
0
|
0
|
1
|
1
| |
+0
|
+1
|
+0
|
+1
| |
0
|
1
|
1
|
1←0
|
(0 plus carry 1)
|
Ini karena ketika dua bit yang ingin kita tambahkan bersama adalah ganjil ("0" + "1" atau "1 + 0"), hasilnya adalah "1".
Demikian juga ketika dua bit yang akan ditambahkan bersama-sama adalah genap ("0 + 0" atau "1 + 1") hasilnya adalah "0" sampai Anda mendapatkan "1 + 1" maka jumlahnya sama dengan "0" ditambah bawa "1". Mari kita lihat contoh sederhana.
Pengurangan Dua Angka Biner
Sistem digital 8-bit diperlukan untuk mengurangi dua bilangan 115 dan 27 berikut ini masing-masing dengan menggunakan pelengkap satuan. Jadi dalam desimal ini akan menjadi: 115 - 27 = 88.Pertama kita perlu mengubah dua bilangan desimal menjadi biner dan memastikan bahwa setiap angka memiliki jumlah bit yang sama dengan menambahkan nol di depan untuk menghasilkan angka 8-bit (byte). Karena itu:
11510 dalam biner adalah: 011100112
2710 dalam biner adalah: 000110112
Sekarang kita perlu menemukan komplemen dari angka biner kedua, ( 00011011 ) sambil meninggalkan angka pertama ( 01110011 ) tidak berubah. Jadi dengan mengubah semua 1 ke 0 dan 0 ke 1, maka komplemen satu 00011011 adalah sama dengan 11100100 .
Menambahkan angka pertama dan komplemen dari angka kedua memberi:
01110011
|
+
11100100
|
Overflow
→1 01010111
|
Bit ini disebut bit “overflow”. Overflow terjadi ketika jumlah kolom paling signifikan (paling kiri) menghasilkan penerusan (carry forward).
Bit overflow atau carry ini dapat diabaikan sepenuhnya atau diteruskan ke bagian digital berikutnya untuk digunakan dalam perhitungannya. Overflow menunjukkan bahwa jawabannya positif. Jika tidak ada overflow maka jawabannya negatif.
Hasil 8-bit dari atas adalah: 01010111 (overflow "1" dibatalkan) dan untuk mengubahnya kembali dari jawaban komplemen saatuan ke jawaban nyata, kita sekarang harus menambahkan "1" ke hasil komplemen satuan, oleh karena itu:
01010111
|
+ 1
|
01011000
|
Kemudian kita dapat melihat bahwa bilangan biner yang bertanda atau tidak bertanda dapat dikurangkan dari satu sama lain menggunakan Komplemen Satu dan proses penambahan.
Penambah biner seperti TTL 74LS83 atau 74LS283 dapat digunakan untuk menambah atau mengurangi dua angka biner 4-bit yang ditandai atau digabung bersama untuk menghasilkan 8-bit penambahan lengkap dengan pelaksanaan.
Dua Pelengkap dari Bilangan Biner Bertanda
Pelengkap Dua atau Komplemen 2 seperti yang juga disebut, adalah metode lain seperti tanda-besaran (sign-magnitude) sebelumnya dan bentuk komplemen satuan, yang dapat kita gunakan untuk mewakili bilangan biner negatif dalam sistem bilangan biner yang ditandai.Dalam komplemen dua, angka positif persis sama dengan sebelumnya untuk bilangan biner yang tidak bertanda. Namun, angka negatif diwakili oleh angka biner, yang bila ditambahkan ke hasil setara/ekuivalen positif terkait menjadi nol.
Dalam bentuk komplemen dua, bilangan negatif adalah pelengkap dua dari bilangan positifnya dengan pengurangan dua bilangan menjadi A - B = A + (komplemen 2 dari B) menggunakan banyak proses yang sama seperti sebelumnya seperti pada dasarnya, komplemen dua adalah komplemen satu +1.
Kelebihan utama dari komplemen dua atas komplemen satu sebelumnya adalah bahwa tidak ada masalah dobel-nol plus jauh lebih mudah untuk menghasilkan komplemen dua dari bilangan biner yang bertanda.
Oleh karena itu, operasi aritmatika relatif lebih mudah dilakukan ketika bilangan diwakili dalam format komplemen dua.
Mari kita lihat pengurangan dua angka 8-bit 115 dan 27 dari atas menggunakan komplemen dua, dan kita ingat dari atas bahwa persamaan binernya adalah:
11510 dalam biner adalah: 011100112
2710 dalam biner adalah: 000110112
(28)2 – 00011011 = 100000000 – 00011011 = 111001012
01110011 + 11100101 = 1 010110002
Ringkasan Bilangan Biner Bertanda
Kita telah melihat bahwa bilangan biner negatif dapat direpresentasikan dengan menggunakan bit paling signifikan (MSB) sebagai bit tanda. Jika nomor biner n bit bertanda, bit paling kiri digunakan untuk mewakili tanda meninggalkan n-1 bit untuk mewakili nomor.Sebagai contoh, dalam angka biner 4 bit, ini hanya menyisakan 3 bit untuk menampung angka aktual. Namun, jika nomor biner tidak ditandai maka semua bit dapat digunakan untuk mewakili nomor tersebut.
Representasi nomor biner yang bertanda biasanya disebut sebagai not tanda-besaran (sign-magnitude) dan jika bit tanda adalah “0”, angka tersebut positif. Jika tanda bit adalah "1", maka angkanya negatif.
Ketika berhadapan dengan operasi aritmatika biner, akan lebih mudah untuk menggunakan komplemen dari bilangan negatif.
Komplementasi adalah cara alternatif untuk mewakili bilangan biner negatif. Sistem pengkodean alternatif ini memungkinkan untuk pengurangan bilangan negatif dengan menggunakan penambahan sederhana.
Karena bilangan tanda-besaran positif selalu dimulai dengan nol (0), komplemennya akan selalu dimulai dengan satu (1) untuk menunjukkan angka negatif seperti yang ditunjukkan pada tabel berikut.
Perbandingan Tanda Biner 4-bit
Desimal
|
Tanda-Besaran
|
Tanda 1-komplemen
|
Tanda 2-komplemen
|
+7
|
0111
|
0111
|
0111
|
+6
|
0110
|
0110
|
0110
|
+5
|
0101
|
0101
|
0101
|
+4
|
0100
|
0100
|
0100
|
+3
|
0011
|
0011
|
0011
|
+2
|
0010
|
0010
|
0010
|
+1
|
0001
|
0001
|
0001
|
+0
|
0000
|
0000
|
0000
|
-0
|
1000
|
1111
|
-
|
-1
|
1001
|
1110
|
1111
|
-2
|
1010
|
1101
|
1110
|
-3
|
1011
|
1100
|
1101
|
-4
|
1100
|
1011
|
1100
|
-5
|
1101
|
1011
|
1011
|
-6
|
1110
|
1001
|
1010
|
-7
|
1111
|
1000
|
1001
|
Metode aritmatika komplemen 2 umumnya digunakan dalam komputer untuk menangani bilangan negatif.
Satu-satunya kelemahan adalah jika kita ingin merepresentasikan bilangan biner negatif dalam format bilangan biner yang bertanda, kita harus menyerahkan beberapa rentang bilangan positif yang kita miliki sebelumnya.