Ahoj. Potreboval bych poradit. Cosik pisu a je tam podivna konstrukce(kvuli pozdejsimu rozsirovani typu):
typedef unsigned long Ttime;
aale ted prichazi ten problem - v jedno miste by se mi desne hodilo zalozit objekt, ktery v sobe bude mit maximum z ttime - tedy cosi jako TItem( max_ttime() ), ale nejak mi nedochazi, jak se kompilatoru zeptat, jake je nejvetsi cislo, jake do toho ulozim.
Nevite nekdo co s tim???
Fórum › C / C++
Maximum typu
Můžeš použít operátor sizeof(jmeno_typu) vrací velikost datového typu v bytech. Pak to stačí přepočítat
(pocet_bytu * 8) / 2 pro čísla se znaménkem nebo použít symbolické konstanty definované v souboru climits.
PS: Pro unsigned long je ta konstanta: ULONG_MAX
Matrix17 píše:#
# Můžeš použít operátor sizeof(jmeno_typu) vrací velikost datového typu v bytech. Pak to stačí přepočítat#
#(pocet_bytu * 8) / 2 pro čísla se znaménkem nebo použít symbolické konstanty definované v souboru climits.#
#PS: Pro unsigned long je ta konstanta: ULONG_MAX
Muzu vedet, jak pozna, ze se jedna o signed nebo unsigned typ? Krome toho je ten vypocet spatne.
To Jura: Jo byl sem asi nějakej praštěnej je to 2 na (pocet_bytu * 8) / dvěma. To, že se jedná o znaménkový nebo neznaménkový typ (signed/unsigned) pozná snadno -> short, int, long sou znaménkový a jestli chceš neznaménkový stačí dodat unsigned. Ty když píšeš program snad poznáš jakej datovej typ používáš a předpokládám, že on taky.
To Matrix17: Tohle je zajimave. diky. ale myslim, že 2^(#bitu) / 2 to je maximum pro znamenkovy a pokud bych to nechal jenom jako 2^(#bitu), tak to bude maximum toho neznamenkoveho. (pokud jsou me poznatky spravne, tak to tak je jinak me prosim vyvedte z omylu)
Matrix17 píše:... Ty když píšeš program snad poznáš jakej datovej typ používáš a předpokládám, že on taky.
To je sice mozne, ale vezmi v uvahu takove WinAPI - spousta novych typu, spousta maker typu:
#ifdef COSI
typedef int MUJ_SKVELE_POJMENOVANY_NOVY_TYP
else
typedef unsigned int MUJ_SKVELE_POJMENOVANY_NOVY_TYP
#endif
A kdyz tohle ma v projektu nekolik hlavickovych soubrou, ktere si s tim takhle hraji, tak se zachvili prestanes orientovat v tom, co je to za typ. Proto jsem radeji, kdyz takove veci za me pocita kompilator.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Maximum v poli — založil koďas
Maximum v matici — založil fja
Gramatika typu 3Pravá -> Gramatika typu 3Pravá regulární — založil Čam
Proměnná typu — založil Ondra
Změna datového typu — založil Nicolas
Moderátoři diskuze