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

Both sides previous revision Previous revision
qna:c:values-operators:rounding-values [2021/03/13 20:12]
xallos
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", 8. / 4.);                    //  2.0000000000000000 +printf("%.16lf\n", 2.2); 
-printf("%.16lf\n", (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.1615666333.txt.gz · Last modified: 2021/03/13 20:12 by xallos