Integer Representasi
Integer Representation
Representasi Nilai Tanda
- 18 = 10010010 (sign-magnitude/nilai-tanda)
- 010 = 10000000 (sign-magnitude)
REPRESENTASI KOMPLEMEN DUA
+18 = 0000000000010010 (sign-magtitude, 16 bit)
-18 = 10010010 (sign-magnitude, 8 bit)
-18 = 1000000000010010 (sign-magtitude, 16 bit)
+18 = 0000000000010010 (komplemen dua, 16 bit)
-18 = 10010010 (komplemen dua, 8 bit)
-65.518 = 1000000000010010 (komplemen dua, 16 bit)
-18 = 1111111100010010 (komplemen dua, 16 bit)
Aritmetika Integer
Bagian ini akan membahas fungsi-fungsi aritmatik bilangan dalam representasi komplemen dua.
A. Negasi
Pada notasi komplemen dua, pengurangan sebuah bilangan integer dapat dibentuk dengan mengunakan aturan berikut:
Anggaplah komplemen boolean seluruh bit bilangan integer (termasuk bittanda). Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan1. misalnya:18=00010010 (komplemen dua).
b. Representasi Integer Positif,negatif,dan bilangan 0.
Kita perlu menggunakan representasi biner untuk setiap bagian dari data. Komputer beroperasi pada nilai-nilai biner (sebagai akibat dari yang dibangun dari transistor).
Ini merupakan masalah, karena perangkat keras
komputer diimplementasikan dengan presisi tetap. Komputer tidak dapat
memanfaatkan bit tambahan untuk menyelesaikan operasi.
- Dalam sistem bilangan biner , semua bilangan dapat direpresentasikan dengan hanya menggunakan bilangan 0 dan 1, tanda minus, dan tanda titik.
- Namun untuk keperluan penyimpanan dan pengolahan komputer, kita tidak perlu menggunakan tanda minus dan titik.
- Hanya bilangan biner (0 dan 1) yang dapat merepresentasikan bilangan.
- Bila kita hanya memakai integer non-negatif, maka representasinya akan lebuh mudah.
- Sebuah word 8-bit dapat digunakan untuk merepresentasikan bilangan 0 hingga 255. Misalnya:
00000000= 0
00000001= 1
00101001 = 41
10000000 = 128
11111111= 225
- Umumnya bila sebuah rangkaian n-bit bilangan biner an-1an-2…a1a0 akan diinterpretasikan sebagai unsigned integer A.
Representasi Nilai Tanda
- Penggunaan unsigned integer tidak cukup untuk merepresentasikan bilangan integer negatif dan juga bilangan positif integer.
- Karena itu terdapat beberapa konvesi lainnya yang dapat kita gunakan.
- Konvesi-konvesi lainnya meliputi perlakuan terhadap bit yang paling berarti (paling kiri) di dalam word bit tanda.
- Apabila bit paling kiri sama dengan 0 suatu bilangan adalah positif , sedangkan bila bit yang paling kiri sama dengan 1 bilangan bernilai negatif.
- Bentuk yang paling sederhana representasi yang memakai bit tanda representasi nilai tanda. Pada sebuah word n bit, n – 1 bit yang paling kanan menampung nilai integer. Misalnya:
- 18 = 10010010 (sign-magnitude/nilai-tanda)
- Terdapat beberapa kekurangan pada representasi nilai-tanda penambahan dan pengurangan memerlukan pertimbangan baik tanda bilangan ataupun nilai relatifnya agar dapat berjalan pada operasi yang diperlukan.
- Kekurangannya lainnya terdapat dua representasi bilangan 0:
- 010 = 10000000 (sign-magnitude)
REPRESENTASI KOMPLEMEN DUA
- Representasi komplemen dua ( two’s complement representation) mengatasi dua buah kekurangan yang terdapat pada representasi nilai- tanda.
- Penambahan dan pengurangan nilai-tanda (sign-magnitude) tidak mencukupi dan terdapat dua buah representasi bilangan nol.
- Representasi komplemen dua menggunakan bit yang paling berarti sebagai bit tanda memudahkannya untuk mengetahui apakah sebuah integer bernilai positif atau negatif.
- Representasi ini berbeda dengan representasi nilai-tanda dengan cara menginterpretasikan bit-bit lainnya.
- Representasi komplemen dua akan lebih mudah dimengerti dengan mendefinisikannya dalam bentuk jumlah bobot bit seperti telah kita lakukan diatas pada representasi unsigned-magnitude dan sign-magnitude.
- Bilangan nol akan diidentifikasikan sebagai positif, memiliki tanda bit 0 dan nilai keseluruhan 0.
- Kita dapat melihat bahwa range integer positif yang dapat direpresentasikan mulai 0 (seluruh magnitude bit-nya sama dengan 0) hingga 2n-1-1 (seluruh magnitude bit-nya 1). bilangan yang lebih besar akan memerlukan bit yang lebih banyak.
- Sekarang bilangan negatif A, bit tanda an-1, sama dengan 1. n-1 bit sisanya dapat mengambil salah satu dari 2n-1 nilai.
- Karena itu, range integer negatif yang dapat direpresentasikan mulai –1 hingga -2n-1.
- Hasilnya assignment yang mudah bagi nilai untuk membiarkan bit-bit an-1 an-2…a:a0 akan sama dengan bilangan positif 2n-1 –A.
- Kadang-kadang kita perlu mengambil sebuah integer n bit dan menyimpannya di dalam m bit, dengan m > n.
- Pada notasi sign-magnitude mudah dilaksanakan: cukup memindahkan bit tanda ke posisi terkiri yang baru dan mengisinya dengan nol. Misalnya:
+18 = 0000000000010010 (sign-magtitude, 16 bit)
-18 = 10010010 (sign-magnitude, 8 bit)
-18 = 1000000000010010 (sign-magtitude, 16 bit)
- Prosedur di atas tidak berlaku bagi integer negatif komplemen dua. Dengan memakai contoh yang sama:
+18 = 0000000000010010 (komplemen dua, 16 bit)
-18 = 10010010 (komplemen dua, 8 bit)
-65.518 = 1000000000010010 (komplemen dua, 16 bit)
- Aturan integer komplemen dua adalah untuk memindahkan bit tanda ke posisi terkiri yang baru dan mengisinya dengan salinan-salinan bit tanda.
- Bilangan positif diisi dengan 0 dan bilangan negatif isi dengan 1
-18 = 1111111100010010 (komplemen dua, 16 bit)
Aritmetika Integer
Bagian ini akan membahas fungsi-fungsi aritmatik bilangan dalam representasi komplemen dua.
A. Negasi
Pada notasi komplemen dua, pengurangan sebuah bilangan integer dapat dibentuk dengan mengunakan aturan berikut:
Anggaplah komplemen boolean seluruh bit bilangan integer (termasuk bittanda). Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan1. misalnya:18=00010010 (komplemen dua).
b. Representasi Integer Positif,negatif,dan bilangan 0.
- Bila sebuah bilangan integer positif dan negatif yang sama direpresentasikan (sign – magnitude),maka harus ada representasi bilangan positif dan negatif yang tidak sama.
- Bila hanya terdapat sebuah representasi bilangan 0 (komplemen dua),maka harus ada representasi bilangan positif dan negatif yang tidak sama.
- Pada kasus komplemen dua,terdapat representasi bilangan n-bit untuk -2n,tapi tidak terdapat untuk 2n.
Kita perlu menggunakan representasi biner untuk setiap bagian dari data. Komputer beroperasi pada nilai-nilai biner (sebagai akibat dari yang dibangun dari transistor).
Ada 3 jenis
data yang kita ingin mewakili:
- bilangan bulat
- karakter
- floating point nilai
Representasi Integer
Ada
representasi biner yang berbeda untuk bilangan bulat. Kemungkinan kualitas:
- bilangan positif hanya
- bilangan positif dan negatif
- kemudahan pembacaan manusia
- kecepatan operasi komputer
Meskipun ada
banyak representasi, dan semua telah digunakan di berbagai kali karena berbagai
alasan, yang dikelilingi oleh * adalah representasi yang akan kita
gunakan secara ekstensif.
- * Unsigned *
- tanda besarnya
- melengkapi satu
- * Melengkapi dua itu *
- bias (tidak dikenal)
- BCD (Binary Coded Decimal), digunakan terutama oleh aplikasi bisnis pada tahun 1960 dan 70-an.
Hampir semua
komputer modern beroperasi berdasarkan representasi komplemen 2 ini. Mengapa?
- perangkat keras untuk melakukan operasi yang paling umum adalah lebih cepat (operasi yang paling umum adalah tambahan)
- hardware lebih sederhana (dan karena itu lebih cepat)
Apakah Anda
perhatikan bahwa kedua alasan untuk menggunakan representasi komplemen 2 adalah
sama? Hampir selalu, ketika membahas mengapa sesuatu dilakukan dengan cara itu
dilakukan, jawabannya adalah sama: "karena lebih cepat."
Prasyarat Bahan dari 252 (Mulai Disini)
Bilangan bulat Unsigned
pengkodean
biner standar yang Anda sudah tahu
hanya 0 dan
nilai-nilai positif
Kisaran: 0
sampai (2 ^ n) - 1, untuk n bit
contoh:
4 bit, nilai
0-15
n = 4, 2 ^ 4 -1
adalah 15
hex desimal biner hex desimal biner
0000 0 0 1000 8 8
0001 1 1 1001 9 9
0010 2 2 1010 10 a
0011 3 3 1011 11 b
0100 4 4 1100 12 c
0101 5 5 1101 13 d
0110 6 6 1110 14 e
0111 7 7 1111 15 f
Prasyarat Bahan dari 252 (Berakhir Disini)
Satu Komplemen Integer
Tidak tercakup dalam 354, tetapi Anda harus tahu hal
itu, karena membuat pemahaman Two Pelengkap mudah!
Sejarah
penting, dan kita menggunakan representasi ini untuk mendapatkan 2 ini bilangan
bulat pelengkap.
Sekarang,
tidak ada yang membangun mesin yang berdasarkan atas 1 's comp. bilangan bulat.
Di masa lalu, komputer awal dibangun oleh Semour Cray (sementara pada CDC)
didasarkan atas 1 's comp. bilangan bulat.
Bilangan
bulat positif menggunakan representasi yang sama dengan unsigned.
00000 adalah
0
00.111 adalah 7, dll
00.111 adalah 7, dll
Negasi
(menemukan invers aditif) dilakukan dengan mengambil pelengkap bitwise dari
representasi. Operasi ini juga dikenal sebagai mengambil melengkapi
seseorang.
PELENGKAP.
Invert. TIDAK. FLIP. Meniadakan.
Ini adalah operasi logis dilakukan pada satu bit.
Komplemen dari 1 adalah 0.
Komplemen dari 0 adalah 1.
Ini adalah operasi logis dilakukan pada satu bit.
Komplemen dari 1 adalah 0.
Komplemen dari 0 adalah 1.
Contoh:
Tentukan representasi dari -1 dalam 1
komplemen
representasi untuk +1: 00001
melengkapi setiap bit: 11110
Itu adalah -1.
Jangan menambah atau menghapus bit.
Contoh:
Apa nilai
desimal diwakili oleh 11100?
Ini harus
menjadi angka negatif.
Untuk
mengetahui, mencari invers aditif!
00.011 adalah
+3 karena melihat, jadi 11100 harus -3
Hal untuk
melihat:
- setiap angka negatif akan memiliki 1 dalam MSB
- ada 2 representasi untuk 0: 00000 dan 11111
Prasyarat Bahan dari 252 (Mulai Disini)
Dua dunia bilangan bulat Pelengkap
Sebuah
variasi atas 1 komplemen yang tidak memiliki dua representasi untuk 0. Hal ini
membuat perangkat keras yang melakukan aritmatika (penambahan, benar-benar)
lebih cepat daripada untuk representasi lain.
contoh
3-bit:
pola bit: 100
101 110 111 000 001 010 011
1 's comp: -3
-2 -1 0 0 1 2 3
2 ini comp .:
-4 -3 -2 -1 0 1 2 3
Nilai-nilai
negatif semua "meluncur" ke bawah per satu, menghilangkan
representasi tambahan nol.
Cara
mendapatkan integer di comp 2 ini. representasi:
- nilai-nilai positif adalah sama
seperti untuk tanda mag. dan 1 comp.
mereka akan memiliki 0 dalam MSB (tapi itu TIDAK sedikit tanda!) - positif: hanya menuliskan nilai seperti sebelumnya
- negatif:
·
menggunakan nilai positif 00101 (+5)
·
·
mengambil 1 itu comp. 11.010 (-5 in 1 ini comp)
·
tambahkan 1 + 1
·
------
·
11.011 (-5 di comp 2 an)
·
Untuk
mendapatkan invers aditif dari 2 komplemen integer,
- mengambil melengkapi seseorang
- tambahkan 1
Operasi
2-langkah ini yang menghasilkan menemukan kebalikan aditif dari representasi
melengkapi dua itu juga dikenal sebagai mengambil melengkapi dua itu.
Untuk
menambahkan 1 tanpa benar-benar tahu bagaimana menambahkan:
mulai dari
LSB, untuk setiap bit (kanan ke kiri bekerja)
sementara
sedikit adalah 1, mengubahnya ke 0.
ketika 0
ditemui, mengubahnya ke 1 dan berhenti.
Semua bit
yang tersisa lainnya adalah sama seperti sebelumnya.
Contoh:
Apa nilai desimal yang dua komplemen 110.011 mewakili?
Ini harus menjadi angka negatif, karena bit yang paling signifikan (MSB) adalah 1. Oleh karena itu, mencari invers aditif:
Apa nilai desimal yang dua komplemen 110.011 mewakili?
Ini harus menjadi angka negatif, karena bit yang paling signifikan (MSB) adalah 1. Oleh karena itu, mencari invers aditif:
110.011 (comp 2 ini.?)
001.100 (setelah mengambil 1 komplemen)
+ 1
------
001.101 (2 itu comp. +13)
Oleh karena itu, terbalik aditif nya
(110011) harus -13.
Sedikit di Menambahkan
Kita akan
melihat bagaimana untuk benar-benar melakukan hal ini nanti, tapi inilah
gambaran singkat.
membawa dalam ab sum melaksanakan
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
a 0011
+ B 0001
- -----
sum 0100
Ini
benar-benar seperti yang kita lakukan untuk desimal!
0 + 0 = 0
1 + 0 = 1
1 + 1 = 2 yaitu 10 dalam biner, sum adalah 0 dan membawa 1.
1 + 1 + 1 = 3 sum adalah 1, dan membawa 1.
0 + 0 = 0
1 + 0 = 1
1 + 1 = 2 yaitu 10 dalam biner, sum adalah 0 dan membawa 1.
1 + 1 + 1 = 3 sum adalah 1, dan membawa 1.
Prasyarat Bahan dari 252 (Berakhir Disini)
Sebuah Diagram Nyaman
Diagram ini
adalah salah satu standar yang digunakan untuk menunjukkan perbedaan antara
pola bit (representasi), dan nilai-nilai yang diwakili oleh pola bit. Versi
roda nomor memberikan segala kemungkinan dari 4-bit representasi. Untuk setiap
representasi, juga memberikan (dalam lingkaran luar) nilai desimal diwakili
oleh pola bit. Perhatikan bahwa dua positif itu nilai pelengkap yang persis
sama dengan nilai-nilai unsigned. Ini adalah pola bit yang memiliki 1 dalam bit
posisi yang paling signifikan di mana nilai-nilai diwakili berbeda.
Prasyarat Bahan dari 252 (Mulai Disini)
Masuk Ekstensi
Bagaimana
mengubah integer dengan sejumlah kecil bit menjadi integer yang sama
(representasi yang sama) dengan jumlah yang lebih besar dari bit.
Hal ini
biasanya dilakukan pada beberapa arsitektur, sehingga yang terbaik adalah untuk
pergi lebih dari itu.
Dengan
representasi:
- unsigned
·
xxxxx menjadi 000xxxxx
Salin integer asli ke LSB, dan menempatkan 0 di tempat
lainnya
- 1 dan melengkapi 2 ini. Disebut ekstensi tanda.
Salin integer asli ke LSB, mengambil MSB integer asli dan mereplikasi di tempat lain.
Contoh:
0010101 -> 000 0010101
^ ^^^
11110000 -> 11111111 11110000
^ ^^^^^^^^
Melimpah
Kadang-kadang
nilai tidak dapat diwakili dalam jumlah terbatas bit diperbolehkan. Contoh:
unsigned, 3
bit: 8 akan membutuhkan setidaknya 4 bit (1000)
. 2 di
comp, 4 bit: 8 akan membutuhkan setidaknya 5 bit (01000)
Ketika nilai
tidak dapat diwakili dalam jumlah bit diperkenankan, kita mengatakan bahwa melimpah
telah terjadi. Overflow terjadi ketika melakukan operasi aritmatika.
Contoh:
3-bit representasi unsigned
011 (3)
+ 110 (6)
---------
?
(9) itu akan membutuhkan 4 bit (1001) untuk mewakili
nilai 9 di unsigned rep.
Komentar
Posting Komentar