-
Fototrend

Új hozzászólás Aktív témák
-
válasz
HussarF
#13235
üzenetére
"de miért csinálja azt, hogy float esetén kiegészíti a számot még random, kisebb helyi értékű számjegyekkel, hogy meglegyen a 10 számjegy?"
Ez egy nagyon fontos kérdés a lebegőpontos számoknál!
Mivel a lebegőpontos számok is binárisak, ezért egy csomó szám, ami tizes számrendszerben véges számú számjeggyel leírható, az (kettesre váltva) végtelen tizedes tört lesz. Például a tök egyszerűnek tűnő "0.1" 32 bites floatkén már "0.100000001490116119384765625" (itt van egy online tool, amivel nézhetsz még példákat). Természetesen double esetén is létezik ugyanez a probléma, csak a tíz tizedesre kerekítés ott már elrejtette ezt (mert a hiba kisebb volt a kerekítés értékénél), de egy precision(30) már biztos előhozná.
Ezért (meg a lebegőpontos számítások eredő pontatlansága miatt*) van az, hogy lebegőpontos számoknál gyakorlatilag tilos ==-t használni, szimpla egyenlőségvizsgálat helyett azt kell megnézni, hogy elég közel vannak-e egymáshoz (ahol az "elég közel" az sajnos mindig kontextusfüggő, tudni kell, hogy milyen mértékű hibára kell ott számítanod).
*: a pontatlanságra példa
if ( (b > 0) && (a+b == a) ) printf("oops\n");Ez simán kiírhatja azt, hogy oops (annak ellenére, hogy tisztán matematika alapon nem lenne neki szabad), pl:
a=10000000.0;
b=00000000.1;
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Polgári repülőgép-szimulátorok
- Ezek voltak az év játékai 2025-ben szerintetek
- Hivatalos a OnePlus 13 startdátuma
- Bambu Lab 3D nyomtatók
- Fizetős szoftverek ingyen vagy kedvezményesen
- Le Mans Ultimate
- GTA VI
- Azonnali alaplapos kérdések órája
- Milyen légkondit a lakásba?
- PROHARDVER! feedback: bugok, problémák, ötletek
- További aktív témák...
- FELÚJÍTOTT Refubished Lenovo Thinkpad T14s G2 Üzleti Golyóálló Laptop -50% Ryzen 5 PRO 5 16/256 FHD
- 2x32gb szerver ram bontatlanok .
- Lenovo ThinkBook 14s Yoga 2-in-1 üzleti laptop tollal i7-1165G7 16gb ram 512ssd FHD IPS Gari
- Nothing Phone 1 (8GB/128GB, dual sim, független) + Nothing tok + Nothing bontatlan fólia
- LIAN LI Hydroshift II LCD-C 360CL - használt, garancia: iPon 2027.10.29-ig
- Telefon felvásárlás!! Samsung Galaxy S24/Samsung Galaxy S24+/Samsung Galaxy S24 Ultra
- Készpénzes / Utalásos Videokártya és Hardver felvásárlás! Személyesen vagy Postával!
- Apple iPhone 13 128GB,Átlagos,12 hónap garanciával
- iPhone 13 mini 128GB Green -1 ÉV GARANCIA -Kártyafüggetlen, MS3896, 95% Akkumulátor
- ÚJ! AKRacing Arctica gamer szék
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


