- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Apple iPhone 13 - hízott, de jól áll neki!
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Poco F7 Pro - jó, de az amatőr sem rossz
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Minden téren tudott fejlődni a Motorola Razr 60 Ultra
- Apple Watch Ultra - első nekifutás
- Az iPhone a mobilpiac katalizátora
- Xiaomi 15 - kicsi telefon nagy energiával
- Motorola Edge 50 Neo - az egyensúly gyengesége
-
Mobilarena
Ú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!
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Kuponkunyeráló
- Apple iPhone 13 - hízott, de jól áll neki!
- Flint 2 OFF topik
- A fociról könnyedén, egy baráti társaságban
- BestBuy topik
- gban: Ingyen kellene, de tegnapra
- Gurulunk, WAZE?!
- E-roller topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- BESZÁMÍTÁS! Asus H370 i5 9500 16GB DDR4 1TB SSD RTX 2060 Super 8GB AeroCool 800 DeepCool 500W
- BESZÁMÍTÁS! ASUS PRIME Z790M i9 14900K 32GB DDR5 1TB SSD RTX 3080 TI 12GB Zalman Z1 Plus EVGA 850W
- BESZÁMÍTÁS! Gigabyte B650M R5 7600X 32GB DDR4 1TB SSD RTX 4080 16GB Zalman Z1 Plus Seasonic 750W
- BESZÁMÍTÁS! ASUS Prime H370 i5 8600K 32GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman N5 BitFenix 550W
- BESZÁMÍTÁS! MSI B450 R5 5600X 32GB DDR4 512GB SSD RTX 4060Ti 16GB ZALMAN N4 Enermax 650W
- HP 65W töltő eladó
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
- Azonnali készpénzes AMD CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- Eladó szép állapotban levő Lenovo Tab M8HD 3/32GB / 12 hó jótállással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest