Lembar Latihan Foalting Point 002b

download Lembar Latihan Foalting Point 002b

of 10

Transcript of Lembar Latihan Foalting Point 002b

Lembar latihan floating-point v001.002Berikut ini adalah contoh latihan untuk konversi bilangan ke dan dari floating-point. Lembaran ini hanyalah lembar latihan, untuk mempelajari teori (dengan tutorial) silahkan mengunjungi halaman web pikirsa.wordpress.com yang berisi kumpulan link bahan-bahan belajar.

1. Lakukan konversi dari bilangan 0.40625 ke format IEEE 32-bit floating-point.

(0.40625)10 = (0)10 +(0.40625)10a. Konversi 0.40625 0.8125 0.625 0.25 0.5 x x x x x 2 2 2 2 2 = 0.8125 = 1.625 = 1.25 = 0.5 = 1.0 = = = = = 0 1 1 0 1 + 0.8125 + 0.625 + 0.25 + 0.5 + 0.0 b1 b2 b3 b4 b5 = = = = = 0 1 1 0 1

Maka ini berarti, (0.40625)10 = (0.01101)2 b. Normalisasi (normalize):

(0.40625)10 = (0.01101)2 * 20 = (001.101)2 * 2-2 = (1.101)2 * 2-2c. Mantissa dan exponent: Mantissa adalah Exponent adalah : : 101 0000 0000 0000 0000 0000 x-127 = -2 x = 127-2 x = 125 Atau, -2+127 = x x=125

(125)10 = (0111 1101)2d. Konversi akhir:

(0.40625)10 ==

0 Sign 0011 3

0111

1101

101

0000

0000

0000

0000

0000

Exponent 1110 E 1101 D

Significand atau Mantissa 0000 0 0000 0 0000 0 0000 0 0000 0

(0.40625)10 == =

(3ED00000)16

2. Lakukan konversi dari bilangan 1.40625 ke format IEEE 32-bit floating-point.

(1.40625)10 = (1)10 +(0.40625)10a. Konversi 0.40625 0.8125 0.625 0.25 0.5 x x x x x 2 2 2 2 2 = 0.8125 = 1.625 = 1.25 = 0.5 = 1.0 = = = = = 0 1 1 0 1 + 0.8125 + 0.625 + 0.25 + 0.5 + 0.0 b1 b2 b3 b4 b5 = = = = = 0 1 1 0 1

Maka ini berarti, (0.40625)10 = (0.01101)2

(1.40625)10 = (1)10 + (0.40625)10 = (1)2 + (0.01101)2 = (1.01101)2b. Normalisasi (normalize):

(1.40625)10 = (1.01101)2 * 20c. Mantissa dan exponent: Mantissa adalah Exponent adalah : : 011 0100 0000 0000 0000 0000 x-127 = 0 x = 0+127 x = 127 Atau, 0+127 = x x=127

(127)10 = (0111 1111)2d. Konversi akhir:

(0.40625)10 ==

0 Sign 0011 3

0111

1111

011

0100

0000

0000

0000

0000

Exponent 1111 F 1011 B

Significand atau Mantissa 0100 4 0000 0 0000 0 0000 0 0000 0

(0.40625)10 == =

(3FB40000)16

3. Lakukan konversi dari bilangan (3ED00000)16 ke format desimal.

(3ED00000)16 = =

3 0011

E 1110

D 1101

0 0000

0 0000

0 0000

0 0000

0 0000

(3ED00000)16 = = Sign Exponent

0 Sign = = =

0111

1101

101

0000

0000

0000

0000

0000

Exponent 0

Significand atau Mantissa

(0111 1101)2 = (01111101)2 = (125)10125-127 = -2 1.101

Significand (mantissa)

Denormalisasi (denormalize): (1.101)2 * 2-2 = (001.101)2 * 20 = (0.01101)2 * 20 Konversi: 20 2-1 2-2 2-3 2-4 2-5 0 0 1 1 0 1

( 2-2+2-3+2-5 ) = (0.40625)10

4. Lakukan konversi dari bilangan (3FB40000)16 ke format desimal.

(3FB40000)16 = =

3 0011

F 1111

B 1011

4 0100

0 0000

0 0000

0 0000

0 0000

(3FB40000)16 = = Sign Exponent

0 Sign = = =

0111

1111

011

0100

0000

0000

0000

0000

Exponent 0

Significand atau Mantissa

(0111 1111)2 = (01111111)2 = (127)10127-127 = 0 1.01101

Significand (mantissa)

Denormalisasi (denormalize):

(1.01101)2 * 20Konversi: 20 2-1 2-2 2-3 2-4 2-5 1 0 1 1 0 1

( 20+ 2-2+2-3+2-5 ) = (1.40625)10

5. Pembuktian konversi dari bilangan (1.101)2 * 2-2 ke format desimal.

(1.101)2 * 2-2 { (1.101)2 * 20 } * 2-2

= =

(0.40625)10 (0.40625)10

20 1

2-1 1

2-2 0

2-3 1

( 20+2-1+2-3 ) = (1.625)10

{ (1.101)2 * 20 } * 2-2 { (1.625)10 } * 2-2 { (1.625)10 } * { (0.25)10 }

= = =

(0.40625)10 (0.40625)10 (0.40625)10

6. Lakukan konversi dari bilangan desimal 1.25 ke format IEEE 32-bit floating-point.

(1.25)10 = (1)10 +(0.25)10a. Konversi 0.25 0.5 x x 2 2 = 0.5 = 1.0 = = 0 1 + 0.5 + 0.0 b1 b2 = = 0 1

Maka ini berarti, (0.25)10 = (0.01)2

(1.25)10 = (1)10 + (0.25)10 = (1)2 + (0.01)2 = (1.01)2b. Normalisasi (normalize): (1.25)10 = (1.01)2 * 20 c. Mantissa dan exponent: Mantissa adalah Exponent adalah : : 010 0000 0000 0000 0000 0000 x-127 = 0 x = 0+127 x = 127 Atau, 0+127 = x x=127

(127)10 = (0111 1111)2d. Konversi akhir:

(1.25)10

= =

0 Sign 0011 3

0111

1111

010

0000

0000

0000

0000

0000

Exponent 1111 F 1010 A

Significand atau Mantissa 0000 0 0000 0 0000 0 0000 0 0000 0

(1.25)10

= = =

(3FA00000)16

7. Lakukan pembuktian konversi dari bilangan (3FA00000)16 ke format desimal.

(3FA00000)16 = =

0 Sign

0111

1111

010

0000

0000

0000

0000

0000

Exponent

Significand atau Mantissa

Sign Exponent Significand (mantissa)

= = =

0

(0111 1111)2 = (01111111)2 = (127)10127-127 = 0 1.010

Denormalisasi (denormalize):

(1.010)2 * 20Konversi: 20 1 2-1 0 2-2 1 2-3 0

( 20+ 2-2 ) = (1.25)10

8. Lakukan konversi dari bilangan desimal 2.5 ke format IEEE 32-bit floating-point.

(2.5)10 = (2)10 +(0.5)10a. Konversi 0.5 x 2 = 1.0 = 1 + 0.0 b1 = 1

Maka ini berarti, (0.5)10 = (0.1)2

(2.5)10 = (2)10 + (0.5)10 = (10)2 + (0.1)2 = (10.1)2b. Normalisasi (normalize): (2.5)10 = (10.1)2 * 20 = (1.01)2 * 21 c. Mantissa dan exponent: Mantissa adalah Exponent adalah : : 010 0000 0000 0000 0000 0000 x-127 = 1 x = 1+127 x = 128 Atau, 1+127 = x x=128

(128)10 = (1000 0000)2d. Konversi akhir:

(2.5)10

= =

0 Sign 0100 4

1000

0000

010

0000

0000

0000

0000

0000

Exponent 0000 0 0010 2

Significand atau Mantissa 0000 0 0000 0 0000 0 0000 0 0000 0

(2.5)10

= = =

(4020 0000)16

9. Lakukan pembuktian konversi dari bilangan (4020 0000)16 ke format desimal.

(4020 0000)16 = =

0 Sign

1000

0000

010

0000

0000

0000

0000

0000

Exponent

Significand atau Mantissa

Sign Exponent Significand (mantissa)

= = =

0

(1000 0000)2 = (10000000)2 = (128)10128-127 = 1 1.010

Denormalisasi (denormalize):

(1.010)2 * 21 = (10.10)2 * 20Konversi: 21 1 20 0 2-1 1 2-2 0

( 21 + 2-1) = (2 + 0.5)10 = (2.5)10

Catatan:Latihan nomor 1 sampai 9 sengaja saya buat dengan berpusat pada sejumlah bilangan yang sama yaitu: (0.40625)10 = (0.01101)2 * 20 = (1.101)2 * 2-2 = (3ED00000)16 (1.40625)10 = (1.01101)2 * 20 = (3FB40000)16 (1.25)10 = (1.01)2 * 20 = (3FA00000)16 (2.5)10 = (10.1)2 * 20 = (1.01)2 * 21 = (4020 0000)16 Dengan menggunakan bilangan yang hampir serupa (0.40625 dengan 1.40625, 1.25 dengan 2.5) diharapkan perubahan dapat lebih mudah terlihat/dipelajari. Dapat dilihat perbedaannya lebih jelas sebagai berikut: (0.40625)10 (1.40625)10 dan = = (0.01101)2 * 20 (1.01101)2 * 20

(1.25)10 (2.5)10

= =

(1.01)2 * 20 (1.01)2 * 21

Lembar latihan ini saya susun dengan menggunakan GNU/Linux Ubuntu & OpenOffice. Sebagai bagian dari upaya bersyukur dapat menggungkan FOSS yang tentu saja gratis, maka melalui lembar latihan ini izinkan saya mengajak kepada para pembaca yang belum mencicipi software FOSS untuk mencobanya. Lebih sering terjadi pekerjaan dapat selesai bahkan jika menggunakan aplikasi bebas/gratisan sekalipun :-). Jika menemukan kesalahan mohon sudi memberikan komentar perbaikan di pikirsa.wordpress.com. Terima kasih, Sunu Pradana (17 September 2011) untuk negara yang kaya sumber daya alamnya.Kata kunci: fp, floating-point, desimal, decimal, binary, biner, heksadesimal, hexadesimal, latihan, contoh, langkah