Ich spielte gerade mit Datentypen und landete auf diesem Dilemma. Kann jemand hier erklären mir den GrundWarum druckt dieses Programm "Ja" als Ausgabe?
#include<iostream>
using namespace std;
int main() {
float a= 0.7;
if(a < 0.7)
cout<<"Yes";
else
cout<<"No";
return 0;
}
Ich weiß, es liegt daran, dass automatisch 0,7 als wörtliche Doppel sein wird.
#include<iostream>
using namespace std;
int main(){
float a= 0.8;
if(a < 0.8)
cout<<"Yes";
else
cout<<"No";
return 0;
}
Weil 0.7 nicht genau als binäre Fließkommazahl dargestellt werden kann. –
Und was * ist * dein "Dilemma"? Was ist das Problem mit dem Code, den du zeigst? Was ist die tatsächliche und erwartete Ausgabe? Bitte lege all das * in den Körper der Frage *, der Titel sollte nur eine kurze Zusammenfassung der Frage im Körper sein. Bitte [lesen Sie, wie Sie gute Fragen stellen können] (http://stackoverflow.com/help/how-to-ask), falls Sie es nicht schon getan haben. –
https://StackOverflow.com/q/7011184/995714 https://StackOverflow.com/q/6883306/995714 https://StackOverflow.com/q/16698198/995714 –