Вы находитесь на странице: 1из 28

PIRZAN BAHARUDDIN NURUL ILMI AZACHRAH ISLAMIAH RIDHA AWALIAH ILHAM ZULKIFLI PTIK 02

2002 MuDer Jeng

Syahrul

Syahrul

Bilangan Floating Point memiliki bentuk umum

:+m*be

= mantissa

mewakili bilangan pecahan dan umumnya dikonversi ke bilangan binernya,


e = mewakili bilangan exponentnya,


sedangkan (basis) dari exponent

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

Mantissa 3 110 0.6132784 0.3458

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

Format floating-point presisi ganda (64 bit)

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.

23 bit untuk single precision, 52 bit untuk double precision

Exponent direpresentasikan dengan unsigned integer

8 bit untuk single precision, 11 bit untuk double precision

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

single precision Format

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

IEEE Double Precision Format


Bentuk ini memiliki kolom exponent 11 bit dan kolom Nilai mantissa sebesar 52 bit. Bentuknya seperti tampak pada gambar.

Gambar 5.7. IEEE double precision format

Syahrul

27

IEEE

Double Precision Format

Bentuk ini memiliki kolom exponent 11 bit dan kol om Nilai mantissa sebesar 52 bit. Bentuknya seperti tampak pada gambar.

Gambar 5.7. IEEE double precision format

Syahrul

28

Вам также может понравиться