include('head.txt');?>
/*======================================================================*\ Nehany automatizalt folyamat \*======================================================================*/ aswc_counter(); // Szamlalo aswc_oldallekeres('w'); // functions.inc.php if (aswc_is_user($_SESSION['loggedin_type'])) { include 'toolbar.inc.php'; } ?>
|
|||||||
|
|||||||
Témaköreink[ 3D Studio MAX ] [ C,C++ ] [ CSS ] [ HTML/XHTML ] [ Online Marketing ] [ Photoshop ] [ PHP ] [ Putra Writer ] [ Webdesign ] Statisztika
|
C,C++ -> Típuskonverziók
Típuskonverziók Ha egy operátor operandusai különböző típusúak, akkor a művelet végrehajtása előtt azokat egy közös típusra kell hozni. Az átalakításra néhány szabály vonatkozik: Általában az automatikus konverzió csak akkor jön létzre, ha egy "keskenyebb" operandust egy "szélesebb" operandussá kell alakítani, mivel így biztosan nem vész el információ. A char típusú adatok kis egész számok, ezért az összes arimetikai műveletben szabadon használhatóak. Erre jó példa az atoi függvény, amely a számjegyekből álló karaktersorozatot a megfelelő értékű számmá alakítja. /* atoi: az a karaktersorozat egész számok alakítása */ int atoi (char s[ ] { int i, n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i) n = 10 * n + (s[i] - '0'); return n; } A char típus int típusú alakítására egy másik függvény a lower függvény. A üggvény egy karaktert alakít kisbetűvé /* lower: a c ASCII karaktert kisbetűssé alakítja */ int lower(int c) { if (c >= 'A' && c <= 'Z') return c + 'a' - 'A'; else return c; } A függvény csak ASCII karakterkészlet esetén használható, mivel kihasználja, hogy a nagy- és kisbetűk számértéke (kódja) rögzített távolságra van egymástól és a nagy- ill kisbetűs ábécék folyamatosak. Az atoi függvényben használt c >= '0' && c <= '9' vizsgálat is helyettesíthető az isdigit(c) könyvtári függvénnyel. Az && és II logikai műveletekkel összekapcsolt i > j alakú relációs kifejezések és logikai kifejezések eredményének értékét úgy definiáljuk, hogy az 1. ha az eredmény igaz, és 0, ha hamis. d = c >= '0' && c <= '9' értékadás során a d változóhoz 1 értéket rendel, ha a c számjegy, és 0-t ha nem. A hosszabb egészek rövidebb vagy char típusúvá alakulásakor, a magasabb helyiértékű bitek elvesznek. int i; char c; i = c; c = i; Az értékadás sorrendjének megfordítása információvesztéshez vezethet. A standard könyvtár tartalmaz egy hordozható pszeudovéletlenszám-generátor valamint annak kezdőértékét beállító függvényt. unsigned long int next = 1; /* rand: egy 0 és 32767 közti pszeudo-véletlen számot ad vissza */ int rand(void); { next = next * 1103515245 + 123456; return (undigned int) (next/65536) % 32768; } /* srand: a rand kezdőértékének beállítása */ void srand (unsigned int alap) { next = alap; }
|
Hello VendégAz oktatóanyagok olvasásához be kell jelentkezned.
Szeretnék regisztrálni. Elfelejtettem a jelszavam!Kiküldöm magamnak! |