Legjobb válasz
A lebegőpontos számok nincsenek pontosan tárolva a számítógép memóriájában. Ennek oka, hogy bármely lebegőpontos szám hozzávetőleges a legközelebbi bináris ábrázoláshoz. Tegyük fel tehát, hogy vannak,
float a=0.87;
float b=0.87;
if(a==b){
printf("Equal \n");
} else {
printf("Not equal \n");
}
Esélyek “Nem egyenlő” lesz kinyomtatva. Tehát, most van egy kérdésünk. Hogyan ellenőrizhetjük 2 lebegőpontos szám egyenlőségét?
Itt az 1e-12 kép jelenik meg. 2 lebegőpontos szám közötti kevesebb, mint 1e-12, elég alacsonynak tekinthető, hogy egyenlőek legyenek. Ezért a 2. makróban azt ellenőrzi, hogy az a abszolút értéke kisebb-e mint 1e-12. A program így nézhet ki:
float a=0.87;
float b=0.87;
if(zero(a-b)){
printf("Equal \n");
} else {
printf("Not qqual \n");
}
Ez garantáltan kinyomtatja az “Equal” szót.
Remélem segít.
Válasz
Nos, ha egyáltalán nem törődik vele – még ahhoz sem, hogy megbeszélje -, akkor lehetetlen a feladata.
Ha hajlandó beszélni, de nem hajlandó megnézni vagy megismerni a kódot, próbáld meg vele játszani ezt a játékot: robot vagy, autonómia nélkül. Az ő feladata, hogy felkeljen a kanapéról, menjen a konyhába, és készítsen négy mogyoróvajat és zselés szendvicset. Ezt úgy kell megtennie, hogy angol parancsokat ad neked.
Érted az olyan műveleteket, mint a „séta oda” és a „kés előhúzása a fiókból”, ezért neki nem kell megmondania, hogyan kell mozgatni az egyes izmokat, és te is megérted, hogy mi a tárgy, tehát nem „t” meg kell határoznia a “kést”. De ez a megértésed határa.
Győződjön meg róla, hogy az utasításait szó szerint hajtja végre, és kezdje elölről, valahányszor az eredmény nem négy PB & J szendvics.
“Állj fel és sétálj a konyhába”
Felállsz és a konyhát és a nappalt elválasztó falhoz sétálsz .
“Arg! Úgy értem, hogy állj fel és sétálj a konyha bejáratáig.”
Teszed.
“Vegye ki a kenyeret a szekrényből”
Karmol a szekrény ajtaján, és nem tud kibontani belőle kenyeret.
“Nyisd ki az ajtót!”
Kinyitod a sütő ajtaját.
“Úgy értem, hogy nyisd ki a szekrény ajtaját!”
Megteszed.
“Vedd elő a kenyeret.”
Kinyomja a kenyeret a szekrényből és a konyha padlójára …