Bináris, egyváltozós (növekszik) aritmetikai műveletek - funkció sizeof

Tranzakciók nevezzük bináris. ha a két érintett gazdasági szereplőkkel őket. Úgy tűnik, hogy minden világos, de mivel mi vagyunk a műveletben részt vevő, két operandus válik egy érdekes probléma:

Lehetséges, hogy készítsen egy bináris aritmetikai művelet különböző adattípusok? És ha igen, akkor milyen lesz beszerezhető a kimenet a műveletet?

És így, ha elvégzik a bináris műveletek adatait az azonos típusú, a kimenet akkor mindig beszerezni az adatokat az azonos típusú. Például:

int a = 4, b = 8;
printf (, a + b ""); / * Printf függvény figyelembe kell venni később, amíg nem kell tudni, hogy ez értékeket megjeleníti a képernyőn. Ennek eredményeképpen kapunk egy értéket 12 -ovogo int típus * /

Most foglalkozik a bináris aritmetikai műveletek változók különböző típusú adatokat. Már a kezdet kezdetén adok három példát, és miután már össze az egész kép:

#include
#include

int main (int argc, char * argv [])
int a = 5; // 2 bájt
float b = 3; // 4 bájt
kettős c = 2; // 8 bájt
char d = 'a'; // 1 bájt

printf ( "\ n.", sizeof (a + b)); / * 4 byte következésképpen típusa float * /
printf ( "\ n.", sizeof (b + c)); / * 8 bájt, és így írja dupla * /
printf ( "\ n.", sizeof (a + d)); / * 2 bájt, ezért a típus int * /

sizeof funkció

sizeof visszaadja a bájtok számát memóriát változó. A fenti példák egyértelmű, hogy hozzáadja a különböző típusú változókat, amikor a kimeneti változó több fajta. Igen, arról a típusú karakter: vonásokkal,, van egész kódot, így ha hozzá nem merülnek fel problémák.

Mégis volt egy furcsa pillanat. Rendezés használt műveletek összeadás, szorzás, osztás és kivonás tud mindent. És milyen csoda - megtalálni az egyensúlyt? A legjobb, hogy olvassa el a példákat:

int a = 5, b = 2;
a = a% b; // az érték a egyenlő 1

Ie fordul rendes osztály, csak az eredmény fennmaradó részlege. Ez minden fortélyát ennek az operátornak.

egyváltozós függvény

Számának növelése eggyel.

int i = 6;
i ++; // növekszik
i = i + 1; // egyenértékű megnő

Számának csökkentése eggyel.

int i = 6;
én--; // csökkentő
i = i - 1; // egyenértékű a csökkentéshez

Amikor van egy lehetőség, hogy használja megnövelését vagy csökken, akkor használd, mert növeli a teljesítményt a programot.

De van még egy nagyon fontos pont. Növekszik és csökkentő az előtag és postfix:

int a = 5;
printf (, ++ a ""); // Kimenet 6
printf (, A ++ ""); // Kimenet 5

Következésképpen az előtagot képez először nő, majd a következő műveleteket végzi, és a postfix ellentétben - először kövesse, majd növelje az értéket.

Ez véget vet a leckét. A feladat nem, mert elolvasása után ezt a leckét egy párszor, hogy világossá kell tenni.