Maximum typu – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Maximum typu – C / C++ – Fórum – Programujte.comMaximum typu – C / C++ – Fórum – Programujte.com

 

Dusan Knop0
Newbie
4. 4. 2007   #1
-
0
-

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???

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
4. 4. 2007   #2
-
0
-

Pouzij numeric_limits.



std::numeric_limits<Ttime>::max;

Nahlásit jako SPAM
IP: ...–
Matrix17
~ Anonymní uživatel
300 příspěvků
4. 4. 2007   #3
-
0
-

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

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
4. 4. 2007   #4
-
0
-

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.

Nahlásit jako SPAM
IP: ...–
Matrix17
~ Anonymní uživatel
300 příspěvků
4. 4. 2007   #5
-
0
-

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.

Nahlásit jako SPAM
IP: ...–
Dusan Knop0
Newbie
6. 4. 2007   #6
-
0
-

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)

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
6. 4. 2007   #7
-
0
-

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.

Nahlásit jako SPAM
IP: ...–
Matrix17
~ Anonymní uživatel
300 příspěvků
6. 4. 2007   #8
-
0
-

To Jura: JJ to máš pravdu. V tom případě je to jednoduší v tom s tebou souhlasím.
To gody: Pochopils to správně. Bylo to pro znaménkovej a dokonce to je u toho napsaný (o fous vejš).

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 32 hostů

Podobná vlákna

Maximum v poli — založil koďas

Maximum v matici — založil fja

Proměnná typu — založil Ondra

Změna datového typu — založil Nicolas

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý