Kezdőlap › Fórumok › Programozás › Forráskód nem hordozható?
- This topic has 80 hozzászólás, 9 résztvevő, and was last updated 16 years, 7 months telt el by
uzsolt.
-
SzerzőBejegyzés
-
2008-12-15-19:53 #2177758
Rajzolni? Odáig lusta voltam elmenni… Pipe és grep az ember jó barátai (a google-val karöltve, bár itt nem használtam).
2008-12-15-19:53 #2177759Rajzolni? Odáig lusta voltam elmenni… Pipe és grep az ember jó barátai (a google-val karöltve, bár itt nem használtam).
2008-12-15-20:12 #2177760uzsolt wrote:Akkor ez lehetett a rendszeres NaN ill. nem NaN oka?Kétszer már megerősítettem, de itt van harmadszorra is, a tudomány mai állása szerint nem hardveres, nem lebegőpontos, nem szoftveres, nem libc, hanem rossz index az oka, aminek nem lett kezdőérték megadva. 😮 A javított verzió minden gépen akárhányszor futtatva ugyanazt az eredményt fogja adni.
Érthetően valaki elmagyarázná, a következő kódban mi a hiba? Itt is az eredmény néha NaN, néha nem. Lehet még kernelhiba (bár lehet újból forgatni egyet), esetleg gonosz LinukszVírus is.
Code:float a, b;a = 1.0;
a += b;
b = 2.0;printf („a: %f, b: %fn, a, b);
uzsolt wrote:gabaman wrote:Az hogy valahol futott máshol meg nem, ne zavarjon meg, a memória hibák általában ilyenek, lappanganak és alattomosak, csak az a biztos hogy mindig kiszámíthatatlan a hatásuk.
Na, ennek roppant módon örülök 😉 Van valami fogás, amivel ezeknek elejét lehet venni? (Nem, nem akarok assemblyben programozni 🙂 )Igen, a megoldás az ha nem programkódok, hanem szándékok és gondolatok segítségével működjön a számítógép. ;D
2008-12-15-20:12 #2177761uzsolt wrote:Akkor ez lehetett a rendszeres NaN ill. nem NaN oka?Kétszer már megerősítettem, de itt van harmadszorra is, a tudomány mai állása szerint nem hardveres, nem lebegőpontos, nem szoftveres, nem libc, hanem rossz index az oka, aminek nem lett kezdőérték megadva. 😮 A javított verzió minden gépen akárhányszor futtatva ugyanazt az eredményt fogja adni.
Érthetően valaki elmagyarázná, a következő kódban mi a hiba? Itt is az eredmény néha NaN, néha nem. Lehet még kernelhiba (bár lehet újból forgatni egyet), esetleg gonosz LinukszVírus is.
Code:float a, b;a = 1.0;
a += b;
b = 2.0;printf („a: %f, b: %fn, a, b);
uzsolt wrote:gabaman wrote:Az hogy valahol futott máshol meg nem, ne zavarjon meg, a memória hibák általában ilyenek, lappanganak és alattomosak, csak az a biztos hogy mindig kiszámíthatatlan a hatásuk.
Na, ennek roppant módon örülök 😉 Van valami fogás, amivel ezeknek elejét lehet venni? (Nem, nem akarok assemblyben programozni 🙂 )Igen, a megoldás az ha nem programkódok, hanem szándékok és gondolatok segítségével működjön a számítógép. ;D
2008-12-15-20:34 #2177762gabaman wrote:Kétszer már megerősítettem, de itt van harmadszorra is, a tudomány mai állása szerint nem hardveres, nem lebegőpontos, nem szoftveres, nem libc, hanem rossz index az oka, aminek nem lett kezdőérték megadva. 😮 A javított verzió minden gépen akárhányszor futtatva ugyanazt az eredményt fogja adni.
Jójójó. Értem, még ha harmadjára is, csak az furcsa, hogy nálam sosem volt nan, máshol meg mindig volt. Na, mindegy, kicsi vagyok én ehhez.gabaman wrote:Code:float a, b;a = 1.0;
a += b;
b = 2.0;printf („a: %f, b: %fn, a, b);
Egy lemaradt idézőjel a printf-ben? 😛
Ezerszer lefuttatva nekem nem hibázott, bár az a értéke 0.999970 körül van.
Szerk.: akkor nálam a kezdőérték nélküli változóknak „nullát ad”? Másoknál meg nem?gabaman wrote:Igen, a megoldás az ha nem programkódok, hanem szándékok és gondolatok segítségével működjön a számítógép. ;DNa, akkor megvan az életcélom 🙂 /Bár addig is gondolom a valgrind is megteszi jobb híján/
2008-12-15-20:34 #2177763gabaman wrote:Kétszer már megerősítettem, de itt van harmadszorra is, a tudomány mai állása szerint nem hardveres, nem lebegőpontos, nem szoftveres, nem libc, hanem rossz index az oka, aminek nem lett kezdőérték megadva. 😮 A javított verzió minden gépen akárhányszor futtatva ugyanazt az eredményt fogja adni.
Jójójó. Értem, még ha harmadjára is, csak az furcsa, hogy nálam sosem volt nan, máshol meg mindig volt. Na, mindegy, kicsi vagyok én ehhez.gabaman wrote:Code:float a, b;a = 1.0;
a += b;
b = 2.0;printf („a: %f, b: %fn, a, b);
Egy lemaradt idézőjel a printf-ben? 😛
Ezerszer lefuttatva nekem nem hibázott, bár az a értéke 0.999970 körül van.
Szerk.: akkor nálam a kezdőérték nélküli változóknak „nullát ad”? Másoknál meg nem?gabaman wrote:Igen, a megoldás az ha nem programkódok, hanem szándékok és gondolatok segítségével működjön a számítógép. ;DNa, akkor megvan az életcélom 🙂 /Bár addig is gondolom a valgrind is megteszi jobb híján/
2008-12-15-20:41 #2177764gabaman wrote:Érthetően valaki elmagyarázná, a következő kódban mi a hiba? Itt is az eredmény néha NaN, néha nem. Lehet még kernelhiba (bár lehet újból forgatni egyet), esetleg gonosz LinukszVírus is.Code:float a, b;a = 1.0;
a += b; << b nem kapott kezdoerteket; emiatt az erteke veletlenszeru
b = 2.0;printf ("a: %f, b: %fn, a, b);
2008-12-15-20:41 #2177765gabaman wrote:Érthetően valaki elmagyarázná, a következő kódban mi a hiba? Itt is az eredmény néha NaN, néha nem. Lehet még kernelhiba (bár lehet újból forgatni egyet), esetleg gonosz LinukszVírus is.Code:float a, b;a = 1.0;
a += b; << b nem kapott kezdoerteket; emiatt az erteke veletlenszeru
b = 2.0;printf ("a: %f, b: %fn, a, b);
2008-12-15-20:51 #2177766zoltan22 wrote:Code:a += b; << b nem kapott kezdoerteket; emiatt az erteke veletlenszeruVS
uzsolt wrote:Ezerszer lefuttatva nekem nem hibázott, bár az a értéke 0.999970 körül van.Köszönöm a segítséget, most már az arány 2:1 kettő az egy ellen. Eddig 1:1 volt, az meg nem perdöntő. ;D Még valaki, aki szerint hibás a kód? 😉
2008-12-15-20:51 #2177767zoltan22 wrote:Code:a += b; << b nem kapott kezdoerteket; emiatt az erteke veletlenszeruVS
uzsolt wrote:Ezerszer lefuttatva nekem nem hibázott, bár az a értéke 0.999970 körül van.Köszönöm a segítséget, most már az arány 2:1 kettő az egy ellen. Eddig 1:1 volt, az meg nem perdöntő. ;D Még valaki, aki szerint hibás a kód? 😉
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz