Quantcast
Channel: BTSoru.com - Bilisim ve Yazilim Teknolojileri Soru/Cevap Platformu - latest questions
Viewing all articles
Browse latest Browse all 4270

Float ve double tipte sayıların sapması neden olur?

$
0
0

Merhaba, Aşağıdaki kodda bütün cevaplar matematiksel olarak 1.6 olmasına rağmen çıktılar farklı. Bunun nedenini açıklayabilir misiniz?

    1. Adım'da double olduğu için basamak duyarlılığı daha fazla ancak son iki basamakta 14 görünüyor.
    1. Adım'da float'a dönüştüğü için basamak duyarlılığı daha az ancak son basamak 4.(?)
    1. Adım'da direk 1.6 sayısını yazdırdığımızda ise herhangi bir
      sorun ile karşılaşmıyoruz.

System.out.println(22.6%3); // 1. Adım

System.out.println((float)22.6%3); // 2. Adım

System.out.println(1.6); // 3. Adım

Output:

1.6000000000000014
1.6000004
1.6

Viewing all articles
Browse latest Browse all 4270