Laman

Senin, 06 Mei 2013

Hasil yang tidak berhenti

Pada gambar di bawah kita menggunakan algoritma untuk mengkonversi 0,110 menjadi biner.

Algoritma ini tidak pernah berhenti dan menghasilkan pola yang sama 0,2 0,4 0,8 1,6 0,6 1,2 0,2 tanpa henti. Hasilnya pola biner 0011 juga tidak akan berhenti seterusnya.

Fakta yang tidak terduga: nilai "sepersepuluh" tidak bisa direpresentasikan secara presisi oleh pecahan biner. 
Hal ini benar di dalam biner notasi posisi maupun floating point yang digunakan di bahasa pemrograman. Kadang kadang hal ini membutuhkan pertimbangan penting ketika akurasi tinggi diperlukan.
DecimalBinary so far
Start0,10,
×20,20,0
×20,40,00
×20,80,000
×21,60,0001
,60,0001
×21,20,00011
0,20,00011
×20,40,000110
×20,80,0001100
×21,60,00011001
,60,00011001
×21,20,000110011
0,20,000110011
×20,40,0001100110
×20,80,00011001100
Result0,00011001100...

Quest: 15: Bisakah satu per tiga direpresentasikan secara presisi oleh desimal?
Jawab: Tidak 1/3 akan menghasilkan 0,3333.... secara tak terhingga

Masalah dengan sepersepuluh bukanlah masalah spesial yang perlu dihindari, karena dengan semua basis yang ada pasti mempunyai pecahan yang tidak presisi.

Tidak ada komentar:

Posting Komentar