Академический Документы
Профессиональный Документы
Культура Документы
Syahrul
Syahrul
:+m*be
= mantissa
b mewakili radix
Syahrul
Misalkan
terdapat sebuah bilangan 8934000000 maka bilangan ini dapat dituliskan dalam bentuk bilangan floating point. 8934E6 yang secara matematis artinya : 8934 x 10 Bagian mantisanya adalah 8934 dan bagian eksponennya adalah E6
Syahrul
Contoh II bilangan 314600000 dan bilangan 0.0000451 dapat direpresentasikan dalam bentuk bilangan floating point: 3146E5 dan 451E-7 (artinya 3146 * 10 pangkat 5, dan 451 * 10 pangkat -7).
Syahrul
1000000 11100000000000000000000 1
1000001 01110000000000000000000 0
Syahrul
BILANGAN FLOATING-POINT Representasi bilangan floating-point mempunyai tiga bagian: 1. Mantissa 2. Basis 3. Eksponen Contoh : Bilangan 3 x 106 110 x 28 6132.784 34.58
Syahrul
Basis 10 2 10 10
Eksponen 6 8 4 2
8
Mantissa dan eksponen direpresentasikan secara eksplisit dalam komputer. Tetapi basisnya (base) adalah yg digunakan oleh komputer tersebut. Umumnya komputer mengikuti basis 2. Umumnya sebuah bilangan f direpresentasikan sebagai f = m x re di mana m adalah mantissa, r adalah basis dari sistem bilangan dan e adalah eksponen (pangkat dari basis yg digunakan). Format umum bilangan floating-point:
S
Syahrul
Eksponen Mantissa
9
Semula penggunaan format berbeda antar pabrik komputer untuk merepresentasikan bilangan floating-point. Tetapi saat ini telah digunakan format standar ANSI/IEEE secara luas (format IEEE 754). Sedangkan IBM mempunyai standar khusus
Ada dua format standar IEEE 754 yg dikeluarkan yaitu untuk presisi tunggal (single precision) dan format standar untuk bilangan presisi ganda (double precision) S Eksponen, 8 bit Mantissa, 23 bit
Format floating-point presisi tunggal (32 bit)
S
Syahrul
Eksponen, 11 bit
Mantissa, 52 bit
10
NORMALISASI FLOATING-POINT Bilangan floating-point dapat direpresentasikan dgn banyak cara seperti yg ditunjukkan untuk bilangan desimal 140 x 28: 140 x 28, 14 x 29, 1400 x 27, 1.4 x 210, 0.14 x 211, .014 x 212 .... dst. Suatu bilangan floating-point berada dalam bentuk ternormalisasi jika Most Significant Digit dari mantissa bukan-nol (non-zero). Untuk mengubah menjadi bilangan yg ternormalisasi, mantissa harus digeser ke kanan atau ke kiri dgn tepat, menaikkan atau menurunkan eksponen. Jika semua bilangan floating-point direpresentasikan dalam komputer dgn bentuk ternormalisasi, maka posisi bit satu dapat disimpan dengan mengabaikan MSB (selalu 1). Ini disebut hidden 1 principle.
Syahrul
11
The sign bit adalah 0 untuk bilangan posistip dan 1 untuk bilangan negatip
Mantissa direpresentasikan dengan unsigned integer (i.e., bukan 2s Complement), di mana nilainya dinormalisasi.
Syahrul
12
Hal yang sulit dari penjumlahan dua bilangan exponent adalah jika bilanganbilangan tersebut memiliki bentuk exponensial yang berbeda.
Syahrul
13
1.
Bandingkan kedua 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
Syahrul
14
1.
Sesuaikan : 1,1000 * 2 2 diubah menjadi 0,0110 * 2 4 2. Jumlahkan : hasil penjumlahan 10,0010 * 2 4 3. Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 2 6 ( dianggap bit yang diijinkan setelah koma adalah 4)
Syahrul
15
Perkalian dari dua bilangan floating point dengan bentuk X = mx * 2 a dan Y= mx * 2 b setara dengan X * Y = (mx * my) * 2 a+b Algoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah: 1. Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan 2. Kalikan kedua bilangan mantissa 3. Normalisasi hasil akhir
Syahrul
16
Contoh : Perkalian antara dua bilangan floating point X = 1,000 * 2 2 dan Y = 1,010*2 1 1. Tambahkan bilangan exponennya : 2+ (1)= 3 2. Kalikan mantissa: 1,0000 * 1,010= 1,010000 Hasil perkaliannya adalah 1,0100* 2 3 Perkalian dari dua bilangan floating point diilustrasikan menggunakan skema seperti tampak pada gambar berikut :
Syahrul
17
Syahrul
18
Pembahasan 5.5 Langkah pembagian -pada operasi pembagian hamper sama -awalnya lakukan pemeriksaan terhadap nol -bila divisor sama dengan nol maka terjadi error dan hasil di set tak hinggah -langkah selanjutnya adalah exponent dividend di kurang divisornya -hasil ini akan menghilangkan bias yang harus di kembalikan lagi -selanjutnya di adakan pemeriksaan overflow dan underflow -langkah akhir adalah membagi significand yang akan di ikuti normalisasi dan pembulatan Syahrul
19
MENDETEKSI OVERFLOW a. menggunakan bit ekstra yyg ditambahkan ke bagian kiri dari bit sign. i. Bit ekstra di set ke nilai yg sama seperti bit sign sebelum penambahan /pengurangan ii. Bilangan yg telah dimodifikasi ditambahkan/dikurangi iii. Jika bit ekstra dan bit sign berbeda setelah operasi, maka telah terjadi overflow b. Metode lain, dimana tidak menggunakan bit ekstra i. Menggunakan ADD jika sign berbeda, dan SUBSTRACT jika signnya sama, maka overflow tidak terjadi ii. Utk A + B jika sign(A) = sign(B) maka hasilnya berupa sign(A) Utk A - B jika sign(A) sign(B) maka hasilnya sign(A) Sign yg salah menunjukkan overflow
Syahrul
20
Syahrul
21
Syahrul
22
Contoh : Pembagian antara dua bilangan floating point X = 1,0000 * 2 2 dan Y = 1,0100 * 2 1 Kurangkan bilangan exponennya : 2 (1) =1 Bagi mantissa: 1,0000 / 1,0100 = 0,1101 Hasil pembagiannya adalah 0,1101 * 2 1 Pembagian dari dua bilangan floating point diilustrasikan menggunakan skema seperti tampak pada gambar berikut :
Syahrul
23
Syahrul
24
IEEE membuat dua bentuk bilangan floating point standard. Bentuk basic dan bentuk extended. Pada tiap bentuk tersebut, IEEE menentukan dua format, yaitu single precision dan double precision format. Single precision format adalah model 32bit sedangkan double precision format adalah 64bit. Pada single extended f ormat setidaknya menggunakan 44 bit, sedangkan pada double extended format setidaknya menggunakan 80 bit. Pada single precision format, mengijinkan penggunaan bit tersembunyi, kolom exponentnya adalah 8bit. Bentuk single precision ditunjukkan pada gambar berikut.
Gambar 5.6
Syahrul
25
IEEE
Jika jumlah bit bilangan exponent adalah 8, maka nilainya memi liki 256 kombinasi, diantara angka-angka tersebut, dua kombinasi digunakan sebagai nilai khusus: 1. e = 0 bernilai nol (jika m = 0) dan nilai terdenormalisasi (jika m 0) 2. e = 255 bernilai+ (jika m = 0) dan nilai tak terdefinisi (jika m 0) m=0 m0 e=0 0 Terdenormalisasi e = 255 + Tidak Terdefinisi Tabel 5.1.
Syahrul
26
Syahrul
27
IEEE
Bentuk ini memiliki kolom exponent 11 bit dan kol om Nilai mantissa sebesar 52 bit. Bentuknya seperti tampak pada gambar.
Syahrul
28