User Tools

Site Tools


qna:c:values-operators:rounding-values

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
qna:c:values-operators:rounding-values [2021/03/13 20:09]
xallos created
qna:c:values-operators:rounding-values [2021/03/13 20:13] (current)
xallos
Line 8: Line 8:
  
 <code c> <code c>
-    printf("%.16lf\n", 10.2);                                   // 10.1999999999999990 +printf("%.16lf\n", 10.2); 
-    printf("%.16lf\n", 2.2);                                    // 2.2000000000000002   => ceil = 3 +// 10.1999999999999990 
-    printf("%.16lf\n", 1.8);                                    // 1.8000000000000000 + 
-    printf("%.16lf\n", ( ((double)8.(4.)));                 // 2.0000000000000000 +printf("%.16lf\n", 2.2); 
-    printf("%.16lf\n", ((double) (10.2 - 2.2) / (2.2 + 1.8)));  // 1.9999999999999998   => floor = 1+//  2.2000000000000002 => ceil = 3 
 + 
 +printf("%.16lf\n", 1.8); 
 +//  1.8000000000000000 
 + 
 +printf("%.16lf\n", 8. / 4.); 
 +//  2.0000000000000000 
 + 
 +printf("%.16lf\n", (10.2 - 2.2) / (2.2 + 1.8)); 
 +//  1.9999999999999998 => floor = 1
 </code> </code>
  
 Και όπως φαίνεται αυτό έχει και σαν αποτέλεσμα, εάν πάνω σε αυτές τις τιμές εφαρμοστούν οι συναρτήσεις ''floor'' ή ''ceil'' να προκύψουν απρόσμενες τιμές. Αυτό όμως είναι ένα εγγενές πρόβλημα στους υπολογιστές, το οποίο όμως ξεφεύγει από τα πλαίσια της ροής της "Εισαγωγής στον προγραμματισμό" του μαθήματός μας. Και όπως φαίνεται αυτό έχει και σαν αποτέλεσμα, εάν πάνω σε αυτές τις τιμές εφαρμοστούν οι συναρτήσεις ''floor'' ή ''ceil'' να προκύψουν απρόσμενες τιμές. Αυτό όμως είναι ένα εγγενές πρόβλημα στους υπολογιστές, το οποίο όμως ξεφεύγει από τα πλαίσια της ροής της "Εισαγωγής στον προγραμματισμό" του μαθήματός μας.
qna/c/values-operators/rounding-values.1615666150.txt.gz · Last modified: 2021/03/13 20:09 by xallos