1.ARITMATIC LOGICAL UNIT(ALU)
Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen
dalam sistem di dalam sistem komputer yang berfungsi melakukan
operasi/perhitungan aritmatika dan logika (Contoh operasi
aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi
logika adalah logika AND dan OR. ALU bekerja besama-sama memori, di mana hasil
dari perhitungan di dalam ALU di simpan ke dalam memori.
Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan
instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU
biasanya menggunakan sistem bilangan biner two’s complement. ALU mendapat
data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan
dalam register tersendiri yaitu ALU output register, sebelum disimpan
dalam memori.
Arithmatic Logical Unit (ALU), fungsi unit ini adalah untuk
melakukan suatu proses data yang berbentuk angka dan logika, seperti data
matematika dan statistika. ALU terdiri dari register-register untuk
menyimpan informasi.Tugas utama dari ALU adalah melakukan perhitungan
aritmatika (matematika) yang terjadi sesuai dengan instruksi program. Rangkaian
pada ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan
dinamakan dengan Adder. Adder digunakan untuk memproses operasi aritmetika,
Adder juga disebut rangkaian kombinasional aritmatika.
Ada 3 jenis
adder:
1)
Rangkaian Adder dengan menjumlahkan dua bit disebut Half Adder.
2)
Rangkaian Adder dengan menjumlahkan tiga bit disebut Full Adder.
3)
Rangkain Adder dengan menjumlahkan banyak bit disebut Paralel Adder
1.
HALF ADDER
Rangkaian Half
Adder merupakan dasar penjumlahan bilangan Biner yang terdiri dari satu
bit, oleh karena itu dinamai Penjumlah Tak Lengkap.
jika A = 0 dan B
= 0 dijumlahkan, hasilnya S ( Sum ) = 0.
jika A = 0 dan B
= 1 dijumlahkan, hasilnya S ( Sum ) = 1.
jika A = 1 dan B
= 1 dijumlahkan, hasilnya S ( Sum ) = 0
jika A = 1 dan B
=1 dijumlahkan, hasilnya S ( Sum ) = 0. dengan nilai pindahan
cy(Carry Out) = 1
Dengan demikian,
half adder memiliki 2 masukan ( A dan B ) dan dua keluaran (S dan Cy).
2.
FULL ADDER
Full
Adder menjumlahkan dua bit input ditambah dengan
nilai Carry-Out dari penjumlahan bit sebelumnya. Output dari Full
Adder adalah hasil penjumlahan (Sum) dan bit kelebihannya (carry-out).
3.
PARALEL ADDER
Rangkaian
Parallel Adder adalah rangkaian penjumlah dari dua bilangan yang telah
dikonversikan ke dalam bentuk biner. Anggap ada dua buah register A dan B,
masing-masing register terdiri dari 4 bit biner : A3A2A1A0 dan B3B2B1B0.
Rangkaian
Parallel Adder terdiri dari Sebuah Half Adder (HA) pada Least Significant
Bit (LSB) dari masing-masing input dan beberapa Full Adder pada bit-bit
berikutnya. Prinsip kerja dari Parallel Adder adalah sebagai berikut : penjumlahan
dilakukan mulai dari LSB-nya. Jika hasil penjumlahan adalah bilangan desimal
“2” atau lebih, maka bit kelebihannya disimpan pada Cout, sedangkan bit di
bawahnya akan dikeluarkan pada Ī£. Begitu seterusnya menuju ke Most
Significant Bit (MSB)nya.
ALU terdiri dari
dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing –
masing memiliki spesifikasi dan tugas tersendiri. Fungsi-fungsi yang
didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak
bertanda), Sub (pengurangan), Subu(pengurangan tidak bertanda), and, or,xor,
sll (shift left logical), srl (shift right logical), sra (shift right
arithmetic), dan lain-lain.
ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai
komponen perangkat elektronika termasuk di dalamnya sekelompok transistor,
yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk
melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan
dari logic gate inilah yang dapat melakukan perintah perhitungan matematika
yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau
“devide” atau pembagian dari suatu bilangan. Instruksi yang dapat dilaksanakan
oleh ALU disebut dengan instruction set. Seperti halnya dalam bahasa yang
digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang
bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa
Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan
instruction set yang ada pada mesin, tergantung dimana lingkungan instruction
set itu digunakan.
2.Integer Representation
Dalam sistem bilangan biner , semua bilangan dapat direpresentasikan
dengan hanya menggunakan bilangan 0 dan 1, tanda minus, dan tanda titik.
Misalnya:
-1101.01012 = -11.312510
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 lebih 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.Konvesi-konvesi 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 = 00010010
- 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 = 00000000
- 010 =
10000000 (sign-magnitude)
REPRESENTASI
KOMPLEMEN DUA
Representasi komplemen dua ( two’s complement representation)
mengatasi dua buah kekurangan yang terdapat pada representasi nilai-
tanda..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.
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.
KONVERSI ANTARA
PANJANG BIT YANG BERLAINAN
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
=
00010010 (sign-magnitude, 8 bit)
+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
=
00010010 (komplemen dua, 8 bit)
+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
=
10010010 (komplemen dua, 8 bit)
-18
=
1111111100010010 (komplemen dua, 16 bit)
3.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 -2n.
Aturan Untuk Mendeteksi Overflow
Aturan Overflow :
Bila dua buah bilangan ditambahkan, dan keduanya positif atau keduanya negatif, maka akan terjadi overflow bila dan hanya bila hasilnya memiliki tanda yang berlawanan, seperti pada contoh halaman 18 ((e),(f))
Bila dua buah bilangan ditambahkan, dan keduanya positif atau keduanya negatif, maka akan terjadi overflow bila dan hanya bila hasilnya memiliki tanda yang berlawanan, seperti pada contoh halaman 18 ((e),(f))
Aturan Pengurangan :
Untuk mengurangkan sebuah bilangan (subtrahend) dari bilangan lainnya (minuend), anggaplah komplemen dua subtrahend dan tambahkan hasilnya ke minuend.
Untuk mengurangkan sebuah bilangan (subtrahend) dari bilangan lainnya (minuend), anggaplah komplemen dua subtrahend dan tambahkan hasilnya ke minuend.
Pembulatan
Teknik pembulatan yang sesuai dengan standard IEEE adalah
sebagai berikut :
Pembulatan ke Bilangan Terdekat : Hasil dibulatkan ke
bilangan terdekat yang dapat direpresentasi.
Pembulatan Ke Arah : Hasil dibulatkan ke atas ke arah tak
terhingga positif.
Pembulatan Ke Arah : Hasil dibulatkan ke atas ke arah tak
terhingga negatif.
Pembulatan Ke Arah 0 : Hasil dibulatkan ke arah 0
4. REPRESENTASI FLOATING-POINT
Floating Point
adalah tipe data yang dapat menyimpan angka dengan pecahan. VB membedakan
menjadi dua jenis, yaitu:
• Tipe data single. Tipe data ini, dapat menampung angka negatif dengan
jangkauan -3.402823E38 hingga -1.401298E-45, dan angka positif dengan
jangkauan 1.401298E-45 hingga 3.402823E38. Huruf E menunjukkan 10
pangkat, misalnya pada -3.402823E38 berarti -3.402823 x 1038. Tipe data ini
membutuhkan 4 byte memori, dan merupakan tipe floating point yang paling
sederhana (dan paling tidak presisi).
• Tipe data double. Daya tampung tipe data double adalah -
1.79769313486232E308 hingga -4.94065645841247E-324 untuk bilangan negatif, dan 4.9406564581247E-324 sampai 1.79769313486232E308 untuk bilangan positif. Kenyataan yang sebenarnya, operasi terhadap tipe data single tidak secepat tipe data double ini.
Bash hanya mendukung operasi aritmatika pada integer, namun utilitas bc, awk dapat digunakan bila anda menginginkan perhitungan yang lebih kompleks.
• Tipe data single. Tipe data ini, dapat menampung angka negatif dengan
jangkauan -3.402823E38 hingga -1.401298E-45, dan angka positif dengan
jangkauan 1.401298E-45 hingga 3.402823E38. Huruf E menunjukkan 10
pangkat, misalnya pada -3.402823E38 berarti -3.402823 x 1038. Tipe data ini
membutuhkan 4 byte memori, dan merupakan tipe floating point yang paling
sederhana (dan paling tidak presisi).
• Tipe data double. Daya tampung tipe data double adalah -
1.79769313486232E308 hingga -4.94065645841247E-324 untuk bilangan negatif, dan 4.9406564581247E-324 sampai 1.79769313486232E308 untuk bilangan positif. Kenyataan yang sebenarnya, operasi terhadap tipe data single tidak secepat tipe data double ini.
Bash hanya mendukung operasi aritmatika pada integer, namun utilitas bc, awk dapat digunakan bila anda menginginkan perhitungan yang lebih kompleks.
REPRESENTASI
FLOATING POINT untuk merepresentasikan floating point diperlukan:
a.lokasi atau
register penyimpanan komputer dengan ukuran memadai untuk menyimpan semua
digit signifikan dari bilangan tersebut.
b.ruang
penyimpanan tambahan untuk menyimpan posisi pointtersebut,ruangan tambahan ini
biasa nya ada di dalam lokasi yang samaatau terpisah.Contoh:Desimal dengan
mantissa 5 digit dan eksponen 3 digit
mantissaeksponen1
3 7 5 0 0 0 2 .13750*10 =1.3753 8 6 2 4 0 0 3 .38624*10 =386.24
5.ARITMATIKA FLOATING POINT
ARITMATIKA
FLOATING POINT Bentuk standar Contoh:0.125*10Bentuk standar untuk bilangan
floating point biner:Jangkauan untuk mantisa f adalah 0.5 < f <1 dean -1
< f < -0.5 Normalisasi:a.geser mantissa n bit ke kiri atau ke kanan
menurut keperluan b.jika kekiri ,kurangkan n dari eksponennyac.jika
digeser kekanan,tambahkan n dari eksponennya
- Menyatakan suatu bilangan yang sangat besar/sangat kecil dengan menggeser titik desimal secara dinamis ke tempat yang sesuai dan menggunakan eksponen 10 untuk menjaga titik desimal itu.
- Sehingga range bilangan yang sangat besar dan sangat kecil untuk direpresentasikan hanya dengan beberapa digit saja.
- Dinyatakan dengan notasi ? a = (m,e) , dimana :
a= m x re r = radiks
m = mantissa
e = eksponen
Contoh : Tunjukkan bilangan-bilangan berikut ini dalam notasi floating point.
a. (45.382)10? 0.45382 x 102 = (0.45382,2)
b. (-21,35)8 ? -2135,0 x 8-2 = (-2135.0,-2)
- Menyatakan suatu bilangan yang sangat besar/sangat kecil dengan menggeser titik desimal secara dinamis ke tempat yang sesuai dan menggunakan eksponen 10 untuk menjaga titik desimal itu.
- Sehingga range bilangan yang sangat besar dan sangat kecil untuk direpresentasikan hanya dengan beberapa digit saja.
- Dinyatakan dengan notasi ? a = (m,e) , dimana :
a= m x re r = radiks
m = mantissa
e = eksponen
Contoh : Tunjukkan bilangan-bilangan berikut ini dalam notasi floating point.
a. (45.382)10? 0.45382 x 102 = (0.45382,2)
b. (-21,35)8 ? -2135,0 x 8-2 = (-2135.0,-2)
ARITMATIKA FLOATING POINT
- Penambahan 0,63524 x 103
0,63215 x 103 +
1,26739 x 103 ? 0,126739 x 104
- Pengurangan 0,63524 x 103
0,63215 x 103 ?
0,00309 x 103? 0,309 x 101
- 0,10100 x 22 ? 0,01010 x 23
0,11000 x 23 ? 0,11000 x 23 +
1,00010 x 23 ? 0,10001 x 24
- Perkalian
(0,253 x 102) x (0,124 x 103) = (0,253) x (0,124) x 102+3
= 0,031 x 105 ? 0,31 x 104
Normalize
- Pembagian 0,253 x 102 = 0,253 x
102-3
0,124 x 103 0,124
= 2,040 x 10-1 ? 0,204 x 100
overflow
Contoh :
#!/bin/bash
num=`echo "scale=3; 13 / 2" | bc`
echo $num
Keterangan :
Output perintah echo di-pipe ke program bc. Skala diset ke 3, yang merupakan digit signifikan di belakang koma. Operasi yang dilakukan adalah pembagian 13 dengan 2. Seluruh pipeline diapit oleh tanda backquote (`). Substitusi perintah akan dilakukan dan hasilkan diberikan ke variabel num, yang kemudian dicetak ke layar.
Hasil skrip di atas adalah :
6.500
Kondisional
Hingga saat ini, kita telah membuat beberapa buah skrip yang menjalankan aksinya secara berurutan. Seringkali dalam melakukan pemrograman skrip dibutuhkan proses yang dapat mengambil keputusan untuk menjalankan suatu aksi atau tidak, keputusan ini diambil setelah mengevaluasi sebuah ekspresi.
Dalam komputasi , floating point menjelaskan sistem untuk mewakili angka-angka yang akan terlalu besar atau terlalu kecil untuk hadir sebagai bilangan bulat Bilangan secara umum mewakili sekitar ke sejumlah tetap angka yang signifikan dan skala menggunakan eksponen . Dasar untuk scaling biasanya adalah 2, 10 atau 16. Jumlah yang khas yang dapat mewakili sebenarnya dalam bentuk:
digit signifikan dasar eksponen ×
floating point merujuk pada fakta bahwa titik radix (titik desimal, atau, lebih sering di komputer, titik biner) dapat "mengambang", artinya, dapat ditempatkan di manapun relatif terhadap angka yang signifikan dari jumlah tersebut. Posisi ini ditunjukkan secara terpisah dalam representasi internal, dan titik representasi floating sehingga dapat dianggap sebagai realisasi komputer notasi ilmiah . Selama bertahun-tahun, beberapa representasi floating-point yang berbeda telah digunakan dalam komputer, namun selama sepuluh tahun terakhir ini paling sering ditemui adalah representasi yang didefinisikan oleh IEEE 754 standar.
0,124 x 103 0,124
= 2,040 x 10-1 ? 0,204 x 100
overflow
Contoh :
#!/bin/bash
num=`echo "scale=3; 13 / 2" | bc`
echo $num
Keterangan :
Output perintah echo di-pipe ke program bc. Skala diset ke 3, yang merupakan digit signifikan di belakang koma. Operasi yang dilakukan adalah pembagian 13 dengan 2. Seluruh pipeline diapit oleh tanda backquote (`). Substitusi perintah akan dilakukan dan hasilkan diberikan ke variabel num, yang kemudian dicetak ke layar.
Hasil skrip di atas adalah :
6.500
Kondisional
Hingga saat ini, kita telah membuat beberapa buah skrip yang menjalankan aksinya secara berurutan. Seringkali dalam melakukan pemrograman skrip dibutuhkan proses yang dapat mengambil keputusan untuk menjalankan suatu aksi atau tidak, keputusan ini diambil setelah mengevaluasi sebuah ekspresi.
Dalam komputasi , floating point menjelaskan sistem untuk mewakili angka-angka yang akan terlalu besar atau terlalu kecil untuk hadir sebagai bilangan bulat Bilangan secara umum mewakili sekitar ke sejumlah tetap angka yang signifikan dan skala menggunakan eksponen . Dasar untuk scaling biasanya adalah 2, 10 atau 16. Jumlah yang khas yang dapat mewakili sebenarnya dalam bentuk:
digit signifikan dasar eksponen ×
floating point merujuk pada fakta bahwa titik radix (titik desimal, atau, lebih sering di komputer, titik biner) dapat "mengambang", artinya, dapat ditempatkan di manapun relatif terhadap angka yang signifikan dari jumlah tersebut. Posisi ini ditunjukkan secara terpisah dalam representasi internal, dan titik representasi floating sehingga dapat dianggap sebagai realisasi komputer notasi ilmiah . Selama bertahun-tahun, beberapa representasi floating-point yang berbeda telah digunakan dalam komputer, namun selama sepuluh tahun terakhir ini paling sering ditemui adalah representasi yang didefinisikan oleh IEEE 754 standar.
Operasi
aritmatika binary, merupakan proses aritmatikan yang melandasi tentang proses
aritmatika dan logika pada sistem digital dan komputer modern. Namun pada
kenyataanya, operasi aritmatika tersebut tidak dapat diwakili oleh operasi yang
terdapat pada gerbang dasar, walaupun secara prinsipnya tiap-tiap gerbang
mewakili satu operasi aritmatika, terutama operasi aritmatika penjumlahan dan
pengurangan.
Rangkaian aritmatika adalah rangkaian yang dapat melakukan proses operasi aritmatika seperti penjumlahan, pengurangan, perkalian, dan pembagian. Pada saat kita menjumlahkan bilangan biner 1+1, bila diwakili dengan operasi penjumlahan dengan gerbang OR, akan menghasilkan keluaran yang berbeda dengan operasi aritmatika sesungguhnya, dimana jika dioperasikan dengan gerbang OR akan diperoleh adalah 1+1=10.
Rangkaian aritmatika adalah rangkaian yang dapat melakukan proses operasi aritmatika seperti penjumlahan, pengurangan, perkalian, dan pembagian. Pada saat kita menjumlahkan bilangan biner 1+1, bila diwakili dengan operasi penjumlahan dengan gerbang OR, akan menghasilkan keluaran yang berbeda dengan operasi aritmatika sesungguhnya, dimana jika dioperasikan dengan gerbang OR akan diperoleh adalah 1+1=10.
Maka untuk menjawab pertanyaan ini
dibutuhkan sebuah rangkaian yang dapat diwakili opersi aritmatik yang
sesungguhnya.
Aturan satandar dalam penjumlahan :
0+0=1
0+1=1
1+0=1
1+1=0 dengan carry 1
Aturan standar dalam pengurangan :
0-0=0
0-1=1 dengan borrow 1
1-0=1
1-1=0 dengan carry 1
Karena transaksi elektronik dengan arus logika yang on atau off, telah ditemukan nyaman untuk mewakili kuantitas dalam bentuk biner untuk melakukan aritmatika pada komputer. Jadi, daripada harus sepuluh digit yang berbeda, 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9, dalam aritmatika biner, hanya ada dua angka yang berbeda, 0 dan 1, dan ketika pindah ke kolom berikutnya, bukan angka yang mewakili kuantitas yang sepuluh kali lebih besar, hanya merupakan jumlah yang dua kali lebih besar. Jadi, angka pertama yang ditulis dalam biner sebagai berikut:
Desimal Biner
Nol 0 0
Satu 1 1
Dua 2 10
Tiga 3 11
Empat 4 100
Lima 5 101
Enam 6 110
Tujuh 7 111
Delapan 8 1000
Sembilan 9 1001
Sepuluh 10 1010
Sebelas 11 1011
Dua belas 12 1100
Tabel penjumlahan dan perkalian untuk aritmatika biner sangat kecil, dan ini memungkinkan untuk menggunakan sirkuit logika untuk membangun penambah biner.
+ | 0 1 * | 0 1
--------- ---------
0 | 0 1 0 | 0 0
1 | 1 10 1 | 0 1
Sistem biner adalah sistem lain tempat-nilai, berdasarkan prinsip yang sama, namun, dalam sistem itu, kotak terkecil hanya memiliki dua kelereng di dalamnya, dan setiap kotak yang lebih besar hanya berisi dua dari ukuran yang lebih kecil berikutnya kotak.
Kita telah melihat bagaimana kita dapat menggunakan dua digit, 0 dan 1, untuk melakukan hal yang sama yang bisa kita lakukan dengan angka 0 dan 9 saja; menulis bilangan bulat sama dengan atau lebih besar dari nol.
Dalam menulis, itu cukup mudah untuk menambahkan tanda minus di depan angka, atau menyisipkan titik desimal. Ketika nomor direpresentasikan hanya sebagai string bit, tanpa simbol-simbol lain, konvensi khusus harus diadopsi untuk mewakili angka yang negatif, atau satu dengan titik radix menunjukkan fraksi biner.
Secara historis, komputer telah mewakili angka negatif dalam beberapa cara berbeda. Salah satu metode adalah tanda-besarnya representasi, di mana bit pertama dari integer, jika satu, menunjukkan bahwa jumlah negatif.
Sejauh ini cara yang paling umum untuk mewakili bilangan bulat negatif pada komputer modern, bagaimanapun, adalah notasi komplemen dua, karena dalam notasi ini, penambahan jumlah ditandatangani, kecuali untuk kemungkinan adanya carry ketika overflow sebenarnya tidak terjadi, adalah identik dengan penambahan jumlah normal positif. Di sini, untuk mengganti nomor dengan setara negatif, salah satu membalikkan semua bit, dan kemudian menambahkan satu.
Metode lain yang mewakili angka negatif adalah hanya untuk menambahkan konstan, sama dengan setengah jangkauan tipe integer, ke nomor untuk mendapatkan representasi biner. Hal ini biasanya digunakan untuk bagian eksponen dari floating-point.
Floating-point digunakan dalam perhitungan ilmiah. Dalam perhitungan ini, bukan berurusan dalam jumlah yang selalu harus sama persis dalam hal dari seluruh unit, apakah unit yang merupakan sen dolar atau, sejumlah digit presisi dicari untuk kuantitas yang mungkin sangat kecil atau sangat besar. Dengan demikian, floating-point diwakili internal dalam komputer dalam sesuatu yang menyerupai notasi ilmiah.
Bagian bilangan bulat dan pecahan dari logaritma disebut, masing-masing, karakteristik dan mantissa ketika menggunakan logaritma umum untuk melakukan perhitungan.
Untuk menjaga bidang dalam angka floating-point yang berbeda, dan untuk membuat aritmatika floating-point sederhana, cara yang umum untuk mewakili angka floating point adalah seperti ini:
Pertama, tanda nomor tersebut; 0 jika positif, 1 jika negatif. Kemudian eksponen. Jika eksponen adalah tujuh bit panjang, hal ini direpresentasikan dalam notasi berlebih-64, jika itu adalah sebelas bit panjang, seperti dalam contoh ini, direpresentasikan dalam notasi berlebih-1, 024. Artinya, bit yang digunakan untuk eksponen adalah representasi biner dari nilai eksponen ditambah 1.024, ini adalah cara paling sederhana untuk mewakili eksponen, karena semuanya sekarang positif.
Akhirnya, angka terkemuka dari bilangan biner yang sebenarnya. Karena ini berisi informasi yang sama sebagai bagian fraksional dari logaritma basis-2 (atau logaritma basis-16, telah eksponen menjadi kekuatan 16, seperti yang terjadi pada beberapa arsitektur lain bukan yang diperiksa di sini) dari nomor, ini bagian dari angka floating-point juga disebut mantissa, bahkan jika istilah ini banyak dikritik sebagai sebuah ironi. Beberapa contoh floating-point adalah sebagai berikut:
1.024 0 10000001011 10000
512 0 10000001010 10000
256 0 10000001001 10000
128 0 10000001000 10000
64 0 10000000111 10000
32 0 10000000110 10000
16 0 10000000101 10000
14 0 10000000100 11100
12 0 10000000100 11000
10 0 10000000100 10100
8 0 10000000100 10000
7 0 10000000011 11100
6 0 10000000011 11000
5 0 10000000011 10100
4 0 10000000011 10000
3,5 0 10000000010 11100
3 0 10000000010 11000
2,5 0 10000000010 10100
2 0 10000000010 10000
1,75 0 10000000001 11100
1,5 0 10000000001 11000
1,25 0 10000000001 10100
1 0 10000000001 10000
0,875 0 10000000000 11100
0,75 0 10000000000 11000
0,625 0 10000000000 10100
0,5 0 10000000000 10000
0,25 0 01111111111 10000
0,125 0 01111111110 10000
0,0625 0 01111111101 10000
0,03125 0 01111111100 10000
Dalam setiap entri di atas, bidang eksponen 11-bit seluruh ditampilkan, tetapi hanya lima bit pertama dari bidang mantissa ditampilkan, sisanya menjadi nol.
Sebuah angka floating-point yang digit pertama, di mana ukuran digit ditentukan oleh eksponen dasar, tidak nol dikatakan dinormalisasi. Secara umum, ketika angka floating-point normal, ia tetap presisi maksimum yang mungkin, dan normalisasi hasilnya merupakan bagian intrinsik dari operasi floating-point.
Dalam ilustrasi di atas,
0 00000000000 10000
akan mewakili jumlah terkecil yang mungkin dapat dinormalisasi. Beberapa komputer memungkinkan underflow bertahap, di mana jumlah seperti
0 00000000000 01000
juga diperbolehkan, karena mereka adalah sebagai dinormalisasi seperti yang mungkin, dan makna mereka tidak ambigu.
Para Dini Hari Heksadesimal
Kebanyakan komputer, internal, menggunakan angka biner untuk aritmatika, sebagai sirkuit untuk aritmatika biner yang paling sederhana untuk melaksanakan. Beberapa komputer akan melakukan basis-10 aritmatika bukan, sehingga untuk menghitung secara langsung pada nomor seperti yang digunakan oleh orang-orang dalam menulis. Hal ini biasanya dilakukan dengan mewakili setiap digit dalam bentuk biner, meskipun sejumlah pengkodean berbeda untuk angka desimal telah digunakan.
Ketika sebuah komputer menggunakan aritmatika biner, itu diinginkan untuk memiliki cara singkat untuk mewakili bilangan biner. Salah satu cara untuk melakukan ini adalah dengan menggunakan notasi oktal, dimana angka 0-7 mewakili tiga bit berturut-turut, dengan demikian, bilangan bulat dalam basis-8 representasi dapat dengan cepat diterjemahkan ke bilangan bulat dalam basis-2 representasi. Cara lain, lebih cocok untuk komputer dengan panjang kata yang merupakan kelipatan dari empat digit, adalah notasi heksadesimal.
Aturan satandar dalam penjumlahan :
0+0=1
0+1=1
1+0=1
1+1=0 dengan carry 1
Aturan standar dalam pengurangan :
0-0=0
0-1=1 dengan borrow 1
1-0=1
1-1=0 dengan carry 1
Karena transaksi elektronik dengan arus logika yang on atau off, telah ditemukan nyaman untuk mewakili kuantitas dalam bentuk biner untuk melakukan aritmatika pada komputer. Jadi, daripada harus sepuluh digit yang berbeda, 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9, dalam aritmatika biner, hanya ada dua angka yang berbeda, 0 dan 1, dan ketika pindah ke kolom berikutnya, bukan angka yang mewakili kuantitas yang sepuluh kali lebih besar, hanya merupakan jumlah yang dua kali lebih besar. Jadi, angka pertama yang ditulis dalam biner sebagai berikut:
Desimal Biner
Nol 0 0
Satu 1 1
Dua 2 10
Tiga 3 11
Empat 4 100
Lima 5 101
Enam 6 110
Tujuh 7 111
Delapan 8 1000
Sembilan 9 1001
Sepuluh 10 1010
Sebelas 11 1011
Dua belas 12 1100
Tabel penjumlahan dan perkalian untuk aritmatika biner sangat kecil, dan ini memungkinkan untuk menggunakan sirkuit logika untuk membangun penambah biner.
+ | 0 1 * | 0 1
--------- ---------
0 | 0 1 0 | 0 0
1 | 1 10 1 | 0 1
Sistem biner adalah sistem lain tempat-nilai, berdasarkan prinsip yang sama, namun, dalam sistem itu, kotak terkecil hanya memiliki dua kelereng di dalamnya, dan setiap kotak yang lebih besar hanya berisi dua dari ukuran yang lebih kecil berikutnya kotak.
Kita telah melihat bagaimana kita dapat menggunakan dua digit, 0 dan 1, untuk melakukan hal yang sama yang bisa kita lakukan dengan angka 0 dan 9 saja; menulis bilangan bulat sama dengan atau lebih besar dari nol.
Dalam menulis, itu cukup mudah untuk menambahkan tanda minus di depan angka, atau menyisipkan titik desimal. Ketika nomor direpresentasikan hanya sebagai string bit, tanpa simbol-simbol lain, konvensi khusus harus diadopsi untuk mewakili angka yang negatif, atau satu dengan titik radix menunjukkan fraksi biner.
Secara historis, komputer telah mewakili angka negatif dalam beberapa cara berbeda. Salah satu metode adalah tanda-besarnya representasi, di mana bit pertama dari integer, jika satu, menunjukkan bahwa jumlah negatif.
Sejauh ini cara yang paling umum untuk mewakili bilangan bulat negatif pada komputer modern, bagaimanapun, adalah notasi komplemen dua, karena dalam notasi ini, penambahan jumlah ditandatangani, kecuali untuk kemungkinan adanya carry ketika overflow sebenarnya tidak terjadi, adalah identik dengan penambahan jumlah normal positif. Di sini, untuk mengganti nomor dengan setara negatif, salah satu membalikkan semua bit, dan kemudian menambahkan satu.
Metode lain yang mewakili angka negatif adalah hanya untuk menambahkan konstan, sama dengan setengah jangkauan tipe integer, ke nomor untuk mendapatkan representasi biner. Hal ini biasanya digunakan untuk bagian eksponen dari floating-point.
Floating-point digunakan dalam perhitungan ilmiah. Dalam perhitungan ini, bukan berurusan dalam jumlah yang selalu harus sama persis dalam hal dari seluruh unit, apakah unit yang merupakan sen dolar atau, sejumlah digit presisi dicari untuk kuantitas yang mungkin sangat kecil atau sangat besar. Dengan demikian, floating-point diwakili internal dalam komputer dalam sesuatu yang menyerupai notasi ilmiah.
Bagian bilangan bulat dan pecahan dari logaritma disebut, masing-masing, karakteristik dan mantissa ketika menggunakan logaritma umum untuk melakukan perhitungan.
Untuk menjaga bidang dalam angka floating-point yang berbeda, dan untuk membuat aritmatika floating-point sederhana, cara yang umum untuk mewakili angka floating point adalah seperti ini:
Pertama, tanda nomor tersebut; 0 jika positif, 1 jika negatif. Kemudian eksponen. Jika eksponen adalah tujuh bit panjang, hal ini direpresentasikan dalam notasi berlebih-64, jika itu adalah sebelas bit panjang, seperti dalam contoh ini, direpresentasikan dalam notasi berlebih-1, 024. Artinya, bit yang digunakan untuk eksponen adalah representasi biner dari nilai eksponen ditambah 1.024, ini adalah cara paling sederhana untuk mewakili eksponen, karena semuanya sekarang positif.
Akhirnya, angka terkemuka dari bilangan biner yang sebenarnya. Karena ini berisi informasi yang sama sebagai bagian fraksional dari logaritma basis-2 (atau logaritma basis-16, telah eksponen menjadi kekuatan 16, seperti yang terjadi pada beberapa arsitektur lain bukan yang diperiksa di sini) dari nomor, ini bagian dari angka floating-point juga disebut mantissa, bahkan jika istilah ini banyak dikritik sebagai sebuah ironi. Beberapa contoh floating-point adalah sebagai berikut:
1.024 0 10000001011 10000
512 0 10000001010 10000
256 0 10000001001 10000
128 0 10000001000 10000
64 0 10000000111 10000
32 0 10000000110 10000
16 0 10000000101 10000
14 0 10000000100 11100
12 0 10000000100 11000
10 0 10000000100 10100
8 0 10000000100 10000
7 0 10000000011 11100
6 0 10000000011 11000
5 0 10000000011 10100
4 0 10000000011 10000
3,5 0 10000000010 11100
3 0 10000000010 11000
2,5 0 10000000010 10100
2 0 10000000010 10000
1,75 0 10000000001 11100
1,5 0 10000000001 11000
1,25 0 10000000001 10100
1 0 10000000001 10000
0,875 0 10000000000 11100
0,75 0 10000000000 11000
0,625 0 10000000000 10100
0,5 0 10000000000 10000
0,25 0 01111111111 10000
0,125 0 01111111110 10000
0,0625 0 01111111101 10000
0,03125 0 01111111100 10000
Dalam setiap entri di atas, bidang eksponen 11-bit seluruh ditampilkan, tetapi hanya lima bit pertama dari bidang mantissa ditampilkan, sisanya menjadi nol.
Sebuah angka floating-point yang digit pertama, di mana ukuran digit ditentukan oleh eksponen dasar, tidak nol dikatakan dinormalisasi. Secara umum, ketika angka floating-point normal, ia tetap presisi maksimum yang mungkin, dan normalisasi hasilnya merupakan bagian intrinsik dari operasi floating-point.
Dalam ilustrasi di atas,
0 00000000000 10000
akan mewakili jumlah terkecil yang mungkin dapat dinormalisasi. Beberapa komputer memungkinkan underflow bertahap, di mana jumlah seperti
0 00000000000 01000
juga diperbolehkan, karena mereka adalah sebagai dinormalisasi seperti yang mungkin, dan makna mereka tidak ambigu.
Para Dini Hari Heksadesimal
Kebanyakan komputer, internal, menggunakan angka biner untuk aritmatika, sebagai sirkuit untuk aritmatika biner yang paling sederhana untuk melaksanakan. Beberapa komputer akan melakukan basis-10 aritmatika bukan, sehingga untuk menghitung secara langsung pada nomor seperti yang digunakan oleh orang-orang dalam menulis. Hal ini biasanya dilakukan dengan mewakili setiap digit dalam bentuk biner, meskipun sejumlah pengkodean berbeda untuk angka desimal telah digunakan.
Ketika sebuah komputer menggunakan aritmatika biner, itu diinginkan untuk memiliki cara singkat untuk mewakili bilangan biner. Salah satu cara untuk melakukan ini adalah dengan menggunakan notasi oktal, dimana angka 0-7 mewakili tiga bit berturut-turut, dengan demikian, bilangan bulat dalam basis-8 representasi dapat dengan cepat diterjemahkan ke bilangan bulat dalam basis-2 representasi. Cara lain, lebih cocok untuk komputer dengan panjang kata yang merupakan kelipatan dari empat digit, adalah notasi heksadesimal.
Referensi
( http://astinaruto.blogspot.com/
)
http://iandoank.blogspot.com/2007/12/aritmatika-komputer.html
AYQjB0&url=http%3A%2F%2Fcoretanmuvi.blogspot.com%2F2012%2F03%2Fkomputasi-modern.html&ei=Lr9XVMXUA8PiuQSMsoCgAg&bvm=bv.78677474,d.c2E&psig=AFQjCNFOZtNr81ZrvWeTFEH-y6SBkFfdPA&ust=1415122920497713
Kesimpulan:
Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen
dalam sistem di dalam komputer yang fungsinya untuk melakukan
operasi/perhitungan aritmatika dan logika .Perhitungan pada ALU
mengguakan kode binner untuk menampilkan data yang akan diolah.di dalam alu
terdapat rangkaian hal yag dilakukan untuk perhitungan.Rangkaian hal itu di
sebut dengan adder.adder terbagi 3 yaitu
Half adder atau di sebut juga dengan rangkaian tak lengkap.Full adder dua
bit input ditambah dengan nilai Carry-Out dari penjumlahan bit
sebelumnya.Dan yang terakhir adalah Parallel Adder adalah rangkaian penjumlah dua
buah bilangan yang telah dikonversikan ke dalam bentuk biner.
Dalam sistem bilangan biner , semua bilangan dapat direpresentasikan
dengan hanya menggunakan bilangan 0 dan 1, tanda minus, dan tanda titik.Pada
repesenrasi nilai tanda jika bit di sebelah kiri sama dengan 0 suatu bilangan adalah
positif , sedangkan jika bit yang paling kiri sama dengan 1 bilangan bernilai
negatif.
Floating point adalah bentuk penyimpanan data dalam bentuk bilangan bulat
dan pecahan.
Dalam setiap entri di atas, bidang eksponen 11-bit seluruh ditampilkan,
tetapi hanya lima bit pertama dari bidang mantissa ditampilkan, sisanya menjadi
nol.
Sebuah angka floating-point yang digit pertama, di mana ukuran digit ditentukan oleh eksponen dasar, tidak nol dikatakan dinormalisasi. Secara umum, ketika angka floating-point normal, ia tetap presisi maksimum yang mungkin, dan normalisasi hasilnya merupakan bagian intrinsik dari operasi floating-point
Sebuah angka floating-point yang digit pertama, di mana ukuran digit ditentukan oleh eksponen dasar, tidak nol dikatakan dinormalisasi. Secara umum, ketika angka floating-point normal, ia tetap presisi maksimum yang mungkin, dan normalisasi hasilnya merupakan bagian intrinsik dari operasi floating-point
Aritmatika
floating point Contoh:0.125*10Bentuk standar untuk bilangan floating point
biner:Jangkauan untuk mantisa f adalah 0.5 < f <1 dean -1 < f <
-0.5 Normalisasi
0 komentar:
Posting Komentar