Ú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!
- AMD vs. INTEL vs. NVIDIA
- Új csodafegyverrel gyorsítaná CPU-it az Intel
- Autós topik
- Fejhallgató erősítő és DAC topik
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Vezeték nélküli fülhallgatók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- gban: Ingyen kellene, de tegnapra
- Mini PC
- Milyen légtisztítót vegyek?
- További aktív témák...
- Nintendo Switch 2, dobozában, játékkal, ajándék tokkal és kiegészítőkkel, 6 hónap garanciával eladó!
- HP PROBOOK X360 11 G5 N5030 /8GB/256 GB SSD/11.6" Hd Touch laptop+tablet garanciás
- MSI GeForce RTX 4080 SUPER GAMING X SLIM 16G - Alza garancia 2027.01.31 - BESZÁMÍTOK!
- Prémium Tápegységek Yó árasítva Ingyen Fox-al érdekelnek?
- Szép Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i9-11950H 64/2TB RTX A4000 8GB 4K OLED
- Lenovo Legion Slim 5 Ryzen 7 7840HS 16GB 512GB RTX 4060 OLED 120Hz 1év garancia
- 27% - iiyama G-MASTER G2470HSU-B6 IPS Monitor! 1920x1080 / 180Hz / 1ms / FreeSync
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Clevo 1060 6GB Mxm 3.1 laptop videó kártya ingyen házhoz szálitással
- Eladó Samsung Galaxy A50 4/128GB szivárvány / 12 hónap jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
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.
