Hirdetés
Új hozzászólás Aktív témák
-
maestro87
őstag
Szia, nem mondtam, hogy csak 16 bites számokat kezel, csak azt, hogy amit pl. windows-on beírsz int változót az alapból talán 24 vagy 32 bites emlékeim szerint, míg itt alapból csak 16 bites és előjeles. Előjel nélkülire %u-t kell használni, és ezek a \n, \r-ek sem igazán működnek itt.
Ez utóbbihoz talán a write_lcd függvényemet kellene módosítanom.A 6 tizedes pontosságot hogy számoltad ki, vagy hol írja?
Hogy számolod ki pl. a 24 bites float maximális értékét 3 tizedesjegy pontosság esetén?Amúgy #pragma --FLOAT=32 utasítással most lefordult, mindjárt kipróbálom a változást, de mint említettem már, jelenleg csak egy tizedesjegy pontosságra van szükségem (0.0-tól 100.0-ig), amit most is ki tudok íratni %f-fel gond nélkül,
csak ennek az egész számmal való szorzatát már nem (pl. 6 milliót). Tehát az eredményt már kerekíteni kellene egész típusra!
És ez a 32 bitre való állítás a fent általam leírt hibásan printf-felt egész értékeket még nem befolyásolja.Lehet, hogy még átállok az 10-zel, 100-zal, 1000-rel való szorzásra/osztásra,
de a milliókat akkor sem fogom tudni megjeleníteni.
Egyébként még azt nem értem, hogy mi a különbség a 32 bites float, 32 bites double és a 32 bites long double között.

update: 32-bites float esetén is ugyanezt kapom: printf("%f", 6123456.0); // --> 6123520.000000
Ki kellene számolni már csak kíváncsiságból is, hogy meddig pontos, csak nem tudom hogy kell.
Biztos a milliós nagyságrend már nem tetszik neki, de még a százezres sem. Illetve megnéztem az előbb, a %u is csak 65535-öt tud kiírni túlcsordulás nélkül, long-ra (32-bit) pedig végre megtaláltam, hogy a %lu-t kell használni (eddig %ul-lel próbáltam) és ugyanez jó unsigned short long-ra is.
Bár utóbbi esetben szerintem feleslegesen felkonvertálja a printf függvény a short long-ot 32-bites long-ra, de most annyi baj legyen.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen CPU léghűtést vegyek?
- BestBuy topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- Okos Otthon / Smart Home
- Pánik a memóriapiacon
- Az AI-piac kivégezte a Micronhoz tartozó Crucialt
- Hálózati / IP kamera
- TCL LCD és LED TV-k
- Épített vízhűtés (nem kompakt) topic
- Karácsonyi ajándék ajánló gyerekeknek
- További aktív témák...
- Dell Gamer,15,6"FullHD IPS,i7 10750H(12X5,Ghz)GTX 1650 4/8GBVGA,16-32GB RAM/512GB SSD,ÚJ töltő,jó ak
- Intel Xeon E5-2600v4 processzorok készleten 2680v4,2683v4,2697v4,2697Av4(áfás számla, 2 év garancia)
- Bontatlan! Új Lenovo Thinkpad T14S G4 Tartós Érintős Laptop 14" -45% Ryzen 5 7530 16/256 FHD+
- Microsoft Surface Prémium minőségi Érintős Laptop Ultrabook 13,5"-65% Ryzen 5 16/256 Tűéles Retina
- Eladó Konfig Ryzen 7 3800X 16GB DDR4 1TB SSD RTX3060 12GB!
- Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, 3-13. gen.
- Apple iPhone 14 Pro 256GB,Újszerű,Dobozával,12 hónap garanciával
- BESZÁMÍTÁS! GIGABYTE X570 AORUS ELITE X570 alaplap garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 13 256GB Midnight -1 ÉV GARANCIA -Kártyafüggetlen, MS3650, 100% Akkumulátor
- 5G LTE! Microsoft Surface Pro 8 i7-1185G7 16GB 256GB 1 év garancia
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Ez utóbbihoz talán a write_lcd függvényemet kellene módosítanom.
Bár utóbbi esetben szerintem feleslegesen felkonvertálja a printf függvény a short long-ot 32-bites long-ra, de most annyi baj legyen.


