source: Java_Quellcode_SOOP_Vorlesung/einfuehrung/FloatFehler.java @ 212

Last change on this file since 212 was 212, checked in by tr, 8 years ago

Demo Rundungsfehler Gleitkommazahlen

File size: 772 bytes
Line 
1package eu.hsrw.tr.prog.vl.einfuehrung;
2
3/**
4 * Beispiel zur Demonstration der Rundungsfehler bei Gleitkommazahlen
5 * @author Thomas Richter
6 *
7 */
8public class FloatFehler {
9
10    public static void main(String[] args) {
11
12        float a = 300.1f;
13        float b = 400.1f;
14        float c = 200.1f;
15        float d = 600.1f;
16        float e = 10.0f;
17       
18       
19        // Berechnung mit erwartetem Ergebnis: x == 1.0
20        // erste Klammer: (300.1 * 400.1 + 10.0 - 200.1 * 600.1)
21        // = 120070.01 + 10.0 - 120080.01
22        // = 0
23       
24        // gesamte Berechnung:
25        // 400.1 * 0 * 600.1 + (300.1 - 200.1) / (10.0 * 10.0)
26        // = 0 + 100.0 / 100.0
27        // = 1 
28        float x = b * (a * b + e - c * d) * d + (a - c) / (e * e);
29       
30        // tatsächliches Ergebnis: x == 1876.7812
31        System.out.println(x);
32    }
33
34}
Note: See TracBrowser for help on using the repository browser.