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