ARITMATIKA INTEGER
Bagian ini akan
membahas fungsi-fungsi aritmatik bilangan dalam representasi komplemen dua:
Negasi
Pada notasi komplemen
dua, pengurangan sebuah bilangan integer dapat dibentuk dengan menggunakan
aturan berikut : Anggaplah komplemen Boolean seluruh bit bilangan integer
(termasuk bit tanda)
Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan 1.
Misal : 18 = 00010010 (komplemen dua)
Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan 1.
Misal : 18 = 00010010 (komplemen dua)
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 positifdan negatif yang tidak sama.
·
Pada kasus komplemen dua, terdapat representasi bilangan n-bit
untuk -2n, tapi tidak terdapat untuk 2n.
Aturan
Untuk Mendeteksi Overflow
1.
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))
2.
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 :
1.
Pembulatan ke Bilangan Terdekat : Hasil dibulatkan ke bilangan
terdekat yang dapat direpresentasi.
2.
Pembulatan Ke Arah : Hasil dibulatkan ke atas ke arah tak
terhingga positif.
3.
Pembulatan Ke Arah : Hasil dibulatkan ke atas ke arah tak
terhingga negatif.
4.
Pembulatan Ke Arah 0 : Hasil dibulatkan ke arah 0
II. FLOATING POINT REPRESENTATION
Dalam komputasi
floating point menjelaskan metode mewakili perkiraan dari sejumlah nyata dalam
cara yang dapat mendukung berbagai nilai . Jumlahnya , secara umum , mewakili
sekitar untuk tetap jumlah digit yang signifikan ( mantissa ) dan ditingkatkan
menggunakan eksponen .
Dengan asumsi bahwa
resolusi terbaik adalah di tahun cahaya , hanya 9 desimal yang paling
signifikan digit materi , sedangkan sisanya 30 digit membawa suara murni , dan
dengan demikian dapat dengan aman dijatuhkan. Ini merupakan penghematan dari
100 bit penyimpanan data komputer . Alih-alih dari 100 bit , jauh lebih sedikit
digunakan untuk mewakili skala ( eksponen ) , misalnya 8 bit atau 2 digit
desimal .
Istilah floating point
mengacu pada fakta bahwa nomor itu radix point ( titik desimal , atau , lebih
umum pada komputer , titik biner ) dapat “mengambang” , yang , dapat
ditempatkan di manapun relatif terhadap angka yang signifikan dari nomor
tersebut. Posisi ini diindikasikan sebagai komponen eksponen dalam representasi
internal , dan floating point sehingga dapat dianggap sebagai realisasi
komputer notasi ilmiah .
Selama bertahun-tahun , berbagai representasi floating-point telah digunakan dalam komputer . Namun, sejak tahun 1990 , representasi paling sering ditemui adalah bahwa didefinisikan oleh IEEE 754 standar . Dalam notasi ilmiah , jumlah yang diberikan ditingkatkan oleh kekuatan 10 sehingga terletak dalam kisaran tertentu – biasanya antara 1 dan 10 , dengan titik radix muncul segera setelah angka pertama . The faktor skala , sebagai kekuatan sepuluh , kemudian ditunjukkan secara terpisah pada akhir nomor . Misalnya, periode revolusi bulan Jupiter Io adalah 152853.5047 detik , nilai yang akan diwakili dalam notasi ilmiah standar – bentuk sebagai 1,528535047 × 105 detik .
Representasi floating-point mirip dalam konsep notasi ilmiah . Logikanya , angka floating -point terdiri dari:
Selama bertahun-tahun , berbagai representasi floating-point telah digunakan dalam komputer . Namun, sejak tahun 1990 , representasi paling sering ditemui adalah bahwa didefinisikan oleh IEEE 754 standar . Dalam notasi ilmiah , jumlah yang diberikan ditingkatkan oleh kekuatan 10 sehingga terletak dalam kisaran tertentu – biasanya antara 1 dan 10 , dengan titik radix muncul segera setelah angka pertama . The faktor skala , sebagai kekuatan sepuluh , kemudian ditunjukkan secara terpisah pada akhir nomor . Misalnya, periode revolusi bulan Jupiter Io adalah 152853.5047 detik , nilai yang akan diwakili dalam notasi ilmiah standar – bentuk sebagai 1,528535047 × 105 detik .
Representasi floating-point mirip dalam konsep notasi ilmiah . Logikanya , angka floating -point terdiri dari:
• Sebuah
ditandatangani ( yang berarti positif atau negatif ) string yang digit panjang
diberikan dalam dasar yang diberikan ( atau radix ) . String ini digit disebut
sebagai significand , koefisien atau , lebih jarang , mantissa ( lihat di bawah
) . Panjang significand menentukan presisi yang nomor dapat diwakili. Radix
Posisi titik diasumsikan untuk selalu berada di suatu tempat dalam significand
– sering hanya setelah atau sebelum yang paling signifikan digit , atau di
sebelah kanan paling kanan (paling signifikan ) digit . Artikel ini umumnya
akan mengikuti konvensi bahwa titik radix hanya setelah paling signifikan (
paling kiri ) digit .
• Sebuah integer
ditandatangani eksponen , juga disebut sebagai karakteristik atau skala , yang
memodifikasi besarnya nomor .
Untuk memperoleh nilai dari angka floating-point , seseorang harus kalikan significand dengan dasar pangkat dari eksponen , setara dengan menggeser radix poin dari posisi tersirat oleh sejumlah tempat sama dengan nilai
Untuk memperoleh nilai dari angka floating-point , seseorang harus kalikan significand dengan dasar pangkat dari eksponen , setara dengan menggeser radix poin dari posisi tersirat oleh sejumlah tempat sama dengan nilai
eksponen – ke kanan
jika eksponen positif atau ke kiri jika eksponen negatif.
Menggunakan basis- 10 ( notasi desimal akrab ) sebagai contoh , jumlah 152853,5047 , yang memiliki sepuluh angka desimal presisi , diwakili sebagai significand 1,528535047 bersama dengan eksponen 5 ( jika posisi tersirat dari radix point setelah pertama yang paling signifikan digit, di sini 1 ). Untuk menentukan nilai yang sebenarnya , titik desimal ditempatkan setelah digit pertama significand dan hasilnya dikalikan dengan 105 untuk memberikan 1,528535047 × 105 , atau 152853,5047. Dalam menyimpan nomor tersebut , dasar ( 10 ) tidak perlu disimpan , karena akan sama untuk seluruh kisaran angka didukung , dan dengan demikian dapat disimpulkan .
Secara simbolis , ini adalah nilai akhirdimana adalah nilai significand ( setelah memperhitungkan tersirat radix point) , B adalah dasar, dan E adalah eksponen.
ekuivalen : di mana s di sini berarti nilai integer dari seluruh significand , mengabaikan semua titik desimal tersirat , dan p adalah – presisi jumlah digit di significand tersebut .
Secara historis , beberapa pangkalan nomor telah digunakan untuk mewakili angka floating -point , dengan basis 2 ( biner ) yang paling umum, diikuti oleh basis 10 ( desimal ) , dan varietas yang kurang umum lainnya , seperti basis 16 ( notasi heksadesimal ) , sebagai serta beberapa yang eksotis seperti 3 (lihat Setun ) .
Angka floating-point adalah bilangan rasional karena mereka dapat direpresentasikan sebagai salah satu bilangan bulat dibagi dengan yang lain . Misalnya 1,45 × 103 adalah (145 /100) * 1000 atau 145000/100 . Dasar namun menentukan pecahan yang dapat diwakili . Misalnya , 1/ 5 tidak dapat diwakili tepat sebagai angka floating-point menggunakan basis biner tetapi dapat diwakili tepat menggunakan basis desimal ( 0,2 , atau 2 × 10-1. Namun 1/3 tidak dapat diwakili tepat oleh salah biner ( 0,010101 … ) atau desimal ( 0,333 ./ ) , tetapi dalam basis 3 itu adalah sepele ( 0,1 atau 1 × 3-1 ) .
Menggunakan basis- 10 ( notasi desimal akrab ) sebagai contoh , jumlah 152853,5047 , yang memiliki sepuluh angka desimal presisi , diwakili sebagai significand 1,528535047 bersama dengan eksponen 5 ( jika posisi tersirat dari radix point setelah pertama yang paling signifikan digit, di sini 1 ). Untuk menentukan nilai yang sebenarnya , titik desimal ditempatkan setelah digit pertama significand dan hasilnya dikalikan dengan 105 untuk memberikan 1,528535047 × 105 , atau 152853,5047. Dalam menyimpan nomor tersebut , dasar ( 10 ) tidak perlu disimpan , karena akan sama untuk seluruh kisaran angka didukung , dan dengan demikian dapat disimpulkan .
Secara simbolis , ini adalah nilai akhirdimana adalah nilai significand ( setelah memperhitungkan tersirat radix point) , B adalah dasar, dan E adalah eksponen.
ekuivalen : di mana s di sini berarti nilai integer dari seluruh significand , mengabaikan semua titik desimal tersirat , dan p adalah – presisi jumlah digit di significand tersebut .
Secara historis , beberapa pangkalan nomor telah digunakan untuk mewakili angka floating -point , dengan basis 2 ( biner ) yang paling umum, diikuti oleh basis 10 ( desimal ) , dan varietas yang kurang umum lainnya , seperti basis 16 ( notasi heksadesimal ) , sebagai serta beberapa yang eksotis seperti 3 (lihat Setun ) .
Angka floating-point adalah bilangan rasional karena mereka dapat direpresentasikan sebagai salah satu bilangan bulat dibagi dengan yang lain . Misalnya 1,45 × 103 adalah (145 /100) * 1000 atau 145000/100 . Dasar namun menentukan pecahan yang dapat diwakili . Misalnya , 1/ 5 tidak dapat diwakili tepat sebagai angka floating-point menggunakan basis biner tetapi dapat diwakili tepat menggunakan basis desimal ( 0,2 , atau 2 × 10-1. Namun 1/3 tidak dapat diwakili tepat oleh salah biner ( 0,010101 … ) atau desimal ( 0,333 ./ ) , tetapi dalam basis 3 itu adalah sepele ( 0,1 atau 1 × 3-1 ) .
Kesempatan di mana
ekspansi terbatas terjadi tergantung pada dasar dan faktor utama, seperti yang
dijelaskan dalam artikel tentang Notasi Positional, Cara di mana significand
tersebut , eksponen dan tanda bit secara internal disimpan di komputer sangat
tergantung dari implementasi .
Secara Umum format
IEEE dijelaskan secara rinci nanti dan di tempat lain , tetapi sebagai contoh ,
dalam representasi ( 32 -bit ) floating-point presisi tunggal biner p = 24 dan
seterusnya significand adalah string dari 24 bit . Misalnya , jumlah π pertama
33 bit adalah 11001001 00001111 11011010 10100010 0 . Mengingat bahwa bit -24
adalah nol , pembulatan sampai 24 bit dalam mode biner berarti menghubungkan
bit -24 dengan nilai 25 yang menghasilkan 11.001.001 00.001.111 11.011.011 .
Ketika ini disimpan menggunakan pengkodean IEEE 754 , ini menjadi significand
dengan e = 1 (di mana s diasumsikan memiliki titik biner di sebelah kanan bit
pertama ) setelah kiri penyesuaian ( atau normalisasi ) selama memimpin atau
tertinggal nol terpotong harus ada apapun .
Skema penjumlahan/pengurangan Floating point
Integer Representation
Untuk menuliskan bilangan floating point (bilangan pecahan) dilakukan dengan menuliskan dalam bentuk exponensial. Sehingga bilangan tersebut memiliki bilangan dasar, bilangan pangkat, dan basis bilangan terebut. Contoh pada bil. Desimal:
- 675.000.000.000.000 ditulis 6,75 x 1014
- 0,00000000000675 ditulis 6,75 x 10-12
Meskipun secara matematis, dalam sistem bilangan biner bisa digunakan tanda minus dan radix point, di dalam komputer hanya ada bilangan 0 & 1 untuk merepresentasikan semua angka l, Contoh bilangan biner matematis:
- - 1101.0101 = -13.3125
Integer Arithmetic
Merupakan operasi aritmatika bilangan bulat (integer), dikarenakan ALU hanya bisa menangani kalkulasi biner bilangan bulat. Bagaimana pun juga ALU juga bisa mengkalkulasikan:
- Bilangan pecahan (real)
- Bentuk FPU (Floating Point Unit) terpisah
- Co-processor dalam chip terpisah
Bilangan bulat (integer) terdiri dari:
– bilangan asli : 1, 2, 3, …
– bilangan nol : 0
– bilangan negatif : …, -3, -2, -1
Bilangan Bulat dinotasikan dengan : B = {…, -3, -2, -1, 0, 1, 2, 3, …}
Bilangan lain yang berada dalam bilangan bulat, di antaranya adalah bilangan:
a. Cacah : C = {0, 1, 2, 3, 4, …}
b. Ganjil : J = {1, 3, 5, 7, …}
c. Genap : G = {2, 4, 6, 8, …}
d. Cacah Kuadrat : K = {0, 1, 4, 9, …}
e. Prima : {2, 3, 5, 7, 11, …}
– bilangan asli : 1, 2, 3, …
– bilangan nol : 0
– bilangan negatif : …, -3, -2, -1
Bilangan Bulat dinotasikan dengan : B = {…, -3, -2, -1, 0, 1, 2, 3, …}
Bilangan lain yang berada dalam bilangan bulat, di antaranya adalah bilangan:
a. Cacah : C = {0, 1, 2, 3, 4, …}
b. Ganjil : J = {1, 3, 5, 7, …}
c. Genap : G = {2, 4, 6, 8, …}
d. Cacah Kuadrat : K = {0, 1, 4, 9, …}
e. Prima : {2, 3, 5, 7, 11, …}
Floating-Point Representation
Menyatakan suatu bilangan yang sangat besar/sangat kecil dengan menggeser titik desimal secara dinamis dan menggunakan eksponen 10 untuk menjaga desimal itu, sehingga range bilangan yang sangat besar/ sangat kecil itu hanya dalam beberapa digit saja. Bilangan Floating point memiliki bentuk umum :
± m * be
b= radiks
m = mantissa
e = eksponen
Floating Point Aritmethic
Sistem penempatan titik desimal dengan cara membagi kalimat menjadi dua bagian. Satu bagian berisi angka pecahan, sebagian lainnya merupakan eksponen dari sepuluh. Posisi efektif dari titik desimal akan berubah ketika eksponennya diubah. Sistem ini digunakan untuk menyatakan hasil perhitungan yang sangat besar atau sangat kecil. Operasi ini terdiri dari :
- Penambahan
- Pengurangan
- Perkalian
- Pembagian
a. Penjumlahan dan Pengurangan
Langkah-langkah yang dilakukan untuk menambah/mengurangkan dua bilangan floating-point :
1. Bandingkan dua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan nilai exponensial lebih kecil.
2. Lakukan operasi penjumlahan/pengurangan
3. Lakukan normalisasi dengan menggeser nilai mantissa dan mengatur nilai exponensialnya.
Skema penjumlahan/pengurangan Floating point
b. Perkalian
Algoritma umum untuk perkalian dari bilangan floating-point terdiri dari tiga langkah:
1. Hitung hasil exponensial dengan menjumlahkan nilai eksponen dari kedua bilangan
2. Kalikan kedua bilangan mantissa
3. Normalisasi hasil akhir
c. Pembagian
Algoritma umum untuk pembagian dari bilangan floating-point terdiri dari tiga langkah:
1. Hitung hasil exponensial dengan mengurangi nilai eksponen dari kedua bilangan
2. Bagi kedua bilangan mantissa
3. Normalisasi hasil akhir
Kesimpulan : Dalam Computer Arithmetic, ALU merupakan bagian dalam mikroprosesor berfungsi mengoperasikan berbagai operasi aritmatika dan operasi logika. Walaupun ALU hanya bisa menangani bilangan bulat (integer), tetapi ALU juga bisa mengkalkulasikan bilangan pecahan (real), dan FPU (Floating Point Unit) terpisah. Meskipun secara matematis, dalam sistem bilangan biner bisa digunakan tanda minus dan radix point, tetapi komputer hanya ada bilangan 0 dan 1 untuk melambangkan semua angka.
http://mulianam292.wordpress.com/



Tidak ada komentar:
Posting Komentar