Tipovi podataka

Preview:

DESCRIPTION

Tipovi podataka. *. Elementarni tipovi podataka. *. char (1). byte. Obuhvaća brojeve od - 12 8 do 12 7. *. short int (2). byte. byte. Obuhvaća brojeve od -32768 do 32767. *. int/long int (4). byte. byte. byte. byte. Obuhvaća brojeve od -2147483648 do 2147483647. *. - PowerPoint PPT Presentation

Citation preview

Tipovi Tipovi podatakapodataka

*

Elementarni Elementarni tipovi podatakatipovi podataka

*

char (1)char (1)

bytebyte

*

Obuhvaća brojeve odObuhvaća brojeve od

--12128 8 dodo 121277Obuhvaća brojeve odObuhvaća brojeve od

--12128 8 dodo 121277

short int (2)short int (2)

bytebyte

Obuhvaća brojeve odObuhvaća brojeve od

-32768 -32768 dodo 32767 32767Obuhvaća brojeve odObuhvaća brojeve od

-32768 -32768 dodo 32767 32767

bytebyte

*

int/long int (4)int/long int (4)

Obuhvaća brojeve odObuhvaća brojeve od

-2147483648 -2147483648 dodo 2147483647 2147483647Obuhvaća brojeve odObuhvaća brojeve od

-2147483648 -2147483648 dodo 2147483647 2147483647

bytebyte bytebytebytebyte bytebyte

*

float (4)float (4)

Obuhvaća brojeve odObuhvaća brojeve od -3.4*10-3.4*103838 do do -3.4*10 -3.4*10-38-38

ii3.4*103.4*10-38-38 dodo 3.4*10 3.4*103838..

Zajamčena točnost: Zajamčena točnost: 7 decimala7 decimala

Obuhvaća brojeve odObuhvaća brojeve od -3.4*10-3.4*103838 do do -3.4*10 -3.4*10-38-38

ii3.4*103.4*10-38-38 dodo 3.4*10 3.4*103838..

Zajamčena točnost: Zajamčena točnost: 7 decimala7 decimala

bytebyte bytebytebytebyte bytebyte

*

double (8)double (8)

Obuhvaća brojeve odObuhvaća brojeve od -1.7 *10-1.7 *10308308 do do -1.7 *10-1.7 *10-308-308

ii

1.7 *101.7 *10-308-308 do do 1.7 *101.7 *10308308

Zajamčena točnost: Zajamčena točnost: 15 decimala15 decimala

Obuhvaća brojeve odObuhvaća brojeve od -1.7 *10-1.7 *10308308 do do -1.7 *10-1.7 *10-308-308

ii

1.7 *101.7 *10-308-308 do do 1.7 *101.7 *10308308

Zajamčena točnost: Zajamčena točnost: 15 decimala15 decimala

bytebyte bytebytebytebyte bytebyte

bytebyte bytebyte bytebyte bytebyte

*

long double (1long double (122))

Obuhvaća brojeve odObuhvaća brojeve od -1.1*10-1.1*1049324932 do do -3.4*10-3.4*10-4932-4932

ii3.4*103.4*10-4932-4932 do do 1.1*101.1*1049324932

Zajamčena točnost: Zajamčena točnost: 18 decimala18 decimala

Obuhvaća brojeve odObuhvaća brojeve od -1.1*10-1.1*1049324932 do do -3.4*10-3.4*10-4932-4932

ii3.4*103.4*10-4932-4932 do do 1.1*101.1*1049324932

Zajamčena točnost: Zajamčena točnost: 18 decimala18 decimala

bytebyte bytebyte bytebyte bytebyte

bytebytebytebyte bytebyte bytebyte

*

bytebytebytebyte bytebyte bytebyte

Veličina pojedinih tipovaVeličina pojedinih tipova(sizeof)(sizeof)

cout << “Veličina cijelih brojeva: “ << cout << “Veličina cijelih brojeva: “ << sizeofsizeof (int); (int); cout <<“Veličina realnih brojeva: “<< cout <<“Veličina realnih brojeva: “<< sizeof sizeof (float);(float); float a = 2.51;float a = 2.51;

cout << Veličina a: ”<< cout << Veličina a: ”<< sizeofsizeof(a);(a);

Napomena:Napomena:Duljina i opseg memorijskog prostora Duljina i opseg memorijskog prostora koje zauzimaju pojedini tipovi koje zauzimaju pojedini tipovi

podataka u C++ podataka u C++ nisu standardizirani! Podaci za nisu standardizirani! Podaci za cjelobrojnecjelobrojne tipove tipove mogu se naći u datoteci mogu se naći u datoteci limitslimits, a za , a za realnerealne u u cfloatcfloat..

cout << “Veličina cijelih brojeva: “ << cout << “Veličina cijelih brojeva: “ << sizeofsizeof (int); (int); cout <<“Veličina realnih brojeva: “<< cout <<“Veličina realnih brojeva: “<< sizeof sizeof (float);(float); float a = 2.51;float a = 2.51;

cout << Veličina a: ”<< cout << Veličina a: ”<< sizeofsizeof(a);(a);

Napomena:Napomena:Duljina i opseg memorijskog prostora Duljina i opseg memorijskog prostora koje zauzimaju pojedini tipovi koje zauzimaju pojedini tipovi

podataka u C++ podataka u C++ nisu standardizirani! Podaci za nisu standardizirani! Podaci za cjelobrojnecjelobrojne tipove tipove mogu se naći u datoteci mogu se naći u datoteci limitslimits, a za , a za realnerealne u u cfloatcfloat..

*

Brojevi bez predznakaBrojevi bez predznaka((unsignedunsigned))

unsigned unsigned short short int i = 50000;int i = 50000;

Kako je to moguće, ako se zna da jeKako je to moguće, ako se zna da jeSHRT_MAXSHRT_MAX = 2 = 21515 - 1 = 32767? - 1 = 32767?

Jednostavno! Krajnji lijevi bitJednostavno! Krajnji lijevi bitu kojem se inače nalazi predznak, koristi se za u kojem se inače nalazi predznak, koristi se za

broj:broj:USHRT_MAXUSHRT_MAX = 2 = 21616 - 1 = 65535 - 1 = 65535

*

Ali, broj ne smije biti negativan!!!Ali, broj ne smije biti negativan!!!

Doseg cjelobrojnih tipovaDoseg cjelobrojnih tipova#include #include <iostream><iostream>#include #include <limits><limits>using namespace using namespace std;std;int int main() {main() {

cout << "Granicne vrijednosti cjelobrojnih tipovacout << "Granicne vrijednosti cjelobrojnih tipova "" << "podataka" << endl << endl;<< "podataka" << endl << endl;

cout << "short: " << SHRT_MIN << "-" << SHRT_MAX cout << "short: " << SHRT_MIN << "-" << SHRT_MAX << endl;<< endl;

cout << "unsigned short: " << 0 << "-" << USHRT_MAXcout << "unsigned short: " << 0 << "-" << USHRT_MAX << endl;<< endl;

cout << "long: " << LONG_MIN << "-" << LONG_MAX cout << "long: " << LONG_MIN << "-" << LONG_MAX << endl;<< endl;

#include #include <iostream><iostream>#include #include <limits><limits>using namespace using namespace std;std;int int main() {main() {

cout << "Granicne vrijednosti cjelobrojnih tipovacout << "Granicne vrijednosti cjelobrojnih tipova "" << "podataka" << endl << endl;<< "podataka" << endl << endl;

cout << "short: " << SHRT_MIN << "-" << SHRT_MAX cout << "short: " << SHRT_MIN << "-" << SHRT_MAX << endl;<< endl;

cout << "unsigned short: " << 0 << "-" << USHRT_MAXcout << "unsigned short: " << 0 << "-" << USHRT_MAX << endl;<< endl;

cout << "long: " << LONG_MIN << "-" << LONG_MAX cout << "long: " << LONG_MIN << "-" << LONG_MAX << endl;<< endl;

*

Doseg cjelobrojnih tipovaDoseg cjelobrojnih tipova

cout << "unsigned long: " << 0 << "-" << ULONG_MAX cout << "unsigned long: " << 0 << "-" << ULONG_MAX

<< endl;<< endl;

cout << "int: " << INT_MIN << "-" << INT_MAX cout << "int: " << INT_MIN << "-" << INT_MAX

<< endl;<< endl;

cout << "unsigned int: " << 0 << "-" << cout << "unsigned int: " << 0 << "-" << UUINT_MAX INT_MAX

<< endl;<< endl;

cout << "char: " << SCHAR_MIN << "-" << SCHAR_MAX cout << "char: " << SCHAR_MIN << "-" << SCHAR_MAX

<< endl;<< endl;

cout << "unsigned char: " << 0 << "-" << UCHAR_MAX cout << "unsigned char: " << 0 << "-" << UCHAR_MAX

<< endl;<< endl;

returnreturn 0; 0;

}}

cout << "unsigned long: " << 0 << "-" << ULONG_MAX cout << "unsigned long: " << 0 << "-" << ULONG_MAX

<< endl;<< endl;

cout << "int: " << INT_MIN << "-" << INT_MAX cout << "int: " << INT_MIN << "-" << INT_MAX

<< endl;<< endl;

cout << "unsigned int: " << 0 << "-" << cout << "unsigned int: " << 0 << "-" << UUINT_MAX INT_MAX

<< endl;<< endl;

cout << "char: " << SCHAR_MIN << "-" << SCHAR_MAX cout << "char: " << SCHAR_MIN << "-" << SCHAR_MAX

<< endl;<< endl;

cout << "unsigned char: " << 0 << "-" << UCHAR_MAX cout << "unsigned char: " << 0 << "-" << UCHAR_MAX

<< endl;<< endl;

returnreturn 0; 0;

}}

*

Doseg decimalnih tipovaDoseg decimalnih tipova#include #include <iostream><iostream>#include #include <<ccfloafloatt>>#include #include <iomanip><iomanip>using namespace using namespace std;std;int int main() {main() { cout << "Granicne vrijednosti decimalnih tipovacout << "Granicne vrijednosti decimalnih tipova "" << "podataka" << endl << endl;<< "podataka" << endl << endl; long double a=LDBL_MAX;long double a=LDBL_MAX; cout << "float: " << setprecision(FLT_DIG) << -FLT_MAXcout << "float: " << setprecision(FLT_DIG) << -FLT_MAX << "-" << FLT_MAX << " , " << endl << " " << -<< "-" << FLT_MAX << " , " << endl << " " << -

FLT_MIN << "-" FLT_MIN << "-" << FLT_MIN << endl << " mantisa: " << << FLT_MIN << endl << " mantisa: " <<

FLT_MANT_DIG FLT_MANT_DIG << " bita" << endl << endl;<< " bita" << endl << endl;

#include #include <iostream><iostream>#include #include <<ccfloafloatt>>#include #include <iomanip><iomanip>using namespace using namespace std;std;int int main() {main() { cout << "Granicne vrijednosti decimalnih tipovacout << "Granicne vrijednosti decimalnih tipova "" << "podataka" << endl << endl;<< "podataka" << endl << endl; long double a=LDBL_MAX;long double a=LDBL_MAX; cout << "float: " << setprecision(FLT_DIG) << -FLT_MAXcout << "float: " << setprecision(FLT_DIG) << -FLT_MAX << "-" << FLT_MAX << " , " << endl << " " << -<< "-" << FLT_MAX << " , " << endl << " " << -

FLT_MIN << "-" FLT_MIN << "-" << FLT_MIN << endl << " mantisa: " << << FLT_MIN << endl << " mantisa: " <<

FLT_MANT_DIG FLT_MANT_DIG << " bita" << endl << endl;<< " bita" << endl << endl;

*

Doseg decimalnih tipovaDoseg decimalnih tipova

cout << "double: " << setprecision(DBL_DIG) << -DBL_MAX cout << "double: " << setprecision(DBL_DIG) << -DBL_MAX

<< "-"<< "-" << DBL_MAX << " , " << endl << " " << DBL_MAX << " , " << endl << " "

<< -DBL_MIN << "-" << DBL_MIN << endl << -DBL_MIN << "-" << DBL_MIN << endl

<< " mantisa: " << DBL_MANT_DIG << " bita" << << " mantisa: " << DBL_MANT_DIG << " bita" << endl;endl;

return return 0;0;

}}

cout << "double: " << setprecision(DBL_DIG) << -DBL_MAX cout << "double: " << setprecision(DBL_DIG) << -DBL_MAX

<< "-"<< "-" << DBL_MAX << " , " << endl << " " << DBL_MAX << " , " << endl << " "

<< -DBL_MIN << "-" << DBL_MIN << endl << -DBL_MIN << "-" << DBL_MIN << endl

<< " mantisa: " << DBL_MANT_DIG << " bita" << << " mantisa: " << DBL_MANT_DIG << " bita" << endl;endl;

return return 0;0;

}}

*

PPobrojenjaobrojenja

*

PobrojenjaPobrojenja(enumerated types)(enumerated types)

enum dani {ponedjeljak, utorak, srijeda, cetvrtak,enum dani {ponedjeljak, utorak, srijeda, cetvrtak, petak, subota, nedjelja}; petak, subota, nedjelja};

Ovom deklaracijom uvodi se Ovom deklaracijom uvodi se novi tip podatakanovi tip podataka (dani), te (dani), te sedam sedam nepromjenjivih identifikatoranepromjenjivih identifikatora (ponedjeljak, utorak,...) toga tipa. (ponedjeljak, utorak,...) toga tipa. Vrijednost prvog identifikatora biti ćeVrijednost prvog identifikatora biti će 0 0, drugog , drugog 11, itd.:, itd.:

dani HvalaBoguDanasJe = petak;dani HvalaBoguDanasJe = petak;dani ZakajJaNeVolim = ponedjeljak;dani ZakajJaNeVolim = ponedjeljak;cout<<HvalaBoguDanasJe<<endl; // ispisuje 4cout<<HvalaBoguDanasJe<<endl; // ispisuje 4

*

Operatori, operacije, Operatori, operacije, operandi, izrazioperandi, izrazi

operacijaoperacija

c=c=(a + b) (a + b)

izrazizrazc=c=(a + b)(a + b)

operandoperand operandoperand

operatoroperator

*

DefinicijeDefinicije

OperatorOperator je znak ili riječ koja određuje vrstu je znak ili riječ koja određuje vrstu operacije. operacije.

OperacijaOperacija je postupak koji želimo izvršiti. je postupak koji želimo izvršiti. OperandOperand je podatak koji sudjeluje u operaciji. je podatak koji sudjeluje u operaciji. IzrazIzraz je sažeta uputa računalu, odnosno prikaz je sažeta uputa računalu, odnosno prikaz

operacije koju želimo izvršiti s pomoću operacije koju želimo izvršiti s pomoću operanada (faktora).operanada (faktora).

*

AritmetičkiAritmetičkioperatorioperatori

*

unarni operatoriunarni operatori predznacipredznaci

+X+X unarni plusunarni plus -X -X unarni minusunarni minus

inkremencijainkremencijaX++X++ uvećaj nakonuvećaj nakon++X++X uvećaj prijeuvećaj prije

dekremencijadekremencijaX--X-- umanji nakonumanji nakon--X--X umanji prijeumanji prije

*

Unarni su oni Unarni su oni operatori koji se operatori koji se upotrupotreebljavaju u bljavaju u kombinaciji sa kombinaciji sa samo samo jednim jednim operandomoperandom..

prefiks operatoriprefiks operatori

++X++X uvećaj prijeuvećaj prije

--X--X umanji prijeumanji prije

primjer:primjer:int i=1;int i=1;cout<<(++i)<<endl;cout<<(++i)<<endl;// // ispisuje 2ispisuje 2

int i=1;int i=1;

i=i+1;i=i+1;

out<<i<<endl;out<<i<<endl;

// // ispisuje 2ispisuje 2Daje isti Daje isti rezultatrezultat

*

postfiks operatoripostfiks operatori

X ++ X ++ uvećaj nakonuvećaj nakon

X -- X -- umanji nakon umanji nakon

primjer:primjer:int i=1;int i=1;cout<<(i++)<<endl;cout<<(i++)<<endl;// // ispisuje 1, pa tekispisuje 1, pa tek// onda povećava ’i’// onda povećava ’i’

int i=1;int i=1;cout<<i<<endl;cout<<i<<endl;// // ispisuje 1ispisuje 1

i=i+1;i=i+1;

*

Daje isti Daje isti rezultatrezultat

binarni operatoribinarni operatori zbrajanjezbrajanje

X + YX + Y oduzimanjeoduzimanje

X - YX - Y množenjemnoženje

X * YX * Y dijeljenjedijeljenje

X / YX / Y modulomodulo**

X % YX % Y* * Ostatak od cjelobrojnog dijeljenja

*

Binarni su oni Binarni su oni operatori koji se operatori koji se upoterbljavaju u upoterbljavaju u

kombinaciji s kombinaciji s dva dva operandaoperanda..

operator dodjele tipaoperator dodjele tipa

Deklaracija i definicija varijabli:Deklaracija i definicija varijabli:int Brojnik = 1;int Brojnik = 1; int Nazivnik = 3;int Nazivnik = 3;

Želimo podijeliti dvije cjelobrojne varijable, a da Želimo podijeliti dvije cjelobrojne varijable, a da rezultat bude realni broj:rezultat bude realni broj:

Ovo je OK:Ovo je OK:float TocniKvocijent = (float)Brojnik / (float)Nazivnik;float TocniKvocijent = (float)Brojnik / (float)Nazivnik;

I ovo:I ovo: float TocniKvocijent = float(Brojnik) / float(Nazivnik);float TocniKvocijent = float(Brojnik) / float(Nazivnik);

OOvo nijevo nije u redu u redu::float Krivo = Brojnik / Nazivnik; float Krivo = Brojnik / Nazivnik; // ispisuje nulu!!!// ispisuje nulu!!!

*

KonstanteKonstante

*

Kada se u kôdu pojavljuju Kada se u kôdu pojavljuju brojčane konstantebrojčane konstante,, prevoditelj ih pohranjuje u formatu nekog od prevoditelj ih pohranjuje u formatu nekog od osnovnih tipova. osnovnih tipova.

S brojevima koji sadrže S brojevima koji sadrže dec. točkudec. točku ili slovo ili slovo ee,, odnosno odnosno E E, prevoditelj barata kao s podacima, prevoditelj barata kao s podacima tipa tipa doubledouble, dok sve ostale brojeve tretira kao, dok sve ostale brojeve tretira kao int int. Npr:. Npr: cout<<(cout<<(short)short) 10<<endl 10<<endl // // shortshort int int cout<<(unsigned) 60000<<endl // unsigned int cout<<(unsigned) 60000<<endl // unsigned int

Češće se za specificiranje konstanti koriste Češće se za specificiranje konstanti koriste sufiksisufiksi - posebni znakovi za eksplicitno određivanje tipa - posebni znakovi za eksplicitno određivanje tipa brojčane konstante. brojčane konstante.

*

Djelovanje sufiksa na Djelovanje sufiksa na cjelobrojne konstantecjelobrojne konstante

Broj ispred SufiksBroj ispred Sufiks Rezultirajući Primjer Rezultirajući Primjersufiksasufiksa tip tip

cijelicijeli int int 2468 2468

L, l L, l long intlong int 645672L 645672L U, u U, u unsigned int 65000U unsigned int 65000U

decimalni decimalni double double 3.14 3.14 F, f F, f float float 1.234F 1.234F L, l L, l long double long double 1.602e-4583L 1.602e-4583L

*

Simboličke konstanteSimboličke konstante umjestoumjesto float Opseg = 2. * r * 3.14159265359;float Opseg = 2. * r * 3.14159265359; float Povrsina = r * r * 3.14159265359;float Povrsina = r * r * 3.14159265359;

double Oplosje = 4. * r * r * 3.14159265359;double Oplosje = 4. * r * r * 3.14159265359;

*

može se pisatimože se pisaticonst double Pi = 3.14159265359;const double Pi = 3.14159265359;iliili#define Pi = 3.14159265359;#define Pi = 3.14159265359;i ondai ondafloat Opseg = 2. * r * Pi;float Opseg = 2. * r * Pi;float Povrsina = r * r * Pi;float Povrsina = r * r * Pi;double Oplosje = 4. * r * r * Pi;double Oplosje = 4. * r * r * Pi;žž

Oktalne konstante

int NadmorskaVisinaVarazdina = int NadmorskaVisinaVarazdina = 02550255// odgovara dekadskom 173// odgovara dekadskom 173

Konstante koje započinju sKonstante koje započinju s 0 (nula)0 (nula) interpretiraju se kaointerpretiraju se kao oktalneoktalne..

*

Heksadecimalne konstante

int ProsjGodisnjaTempZaVzd = int ProsjGodisnjaTempZaVzd = 0xA0xA

// odgovara dekadskom// odgovara dekadskom broju broju 10 10 Konstante koje započinju sKonstante koje započinju s 0x 0x

interpretiraju se kaointerpretiraju se kao heksadecimalneheksadecimalne

*

Logički i relacijskiLogički i relacijskioperatorioperatori

*

Logički tipovi podatakaLogički tipovi podataka

boolbool ImamLiMnogoNovaca = ImamLiMnogoNovaca =falsefalse;;boolbool JeLiVamDosadno = JeLiVamDosadno = truetrue;;

truetrue = 1; = 1; falsefalse = 0; = 0;

George BoolGeorge Bool (1815-1864), (1815-1864), engleski matematičar, engleski matematičar,

utemeljitelj logičke algebreutemeljitelj logičke algebre

*

Tip podataka bool je Tip podataka bool je zapravo pobrojenje:zapravo pobrojenje:

enum bool {false,true};enum bool {false,true};

Logički operatoriLogički operatori

! x! x negacija (negacija (notnot))

x && yx && y konjunkcija (konjunkcija (and - and - logičko ’logičko ’ii’)’)

x || yx || y disjunkcija (disjunkcija (or - or - logičko ‘logičko ‘iliili’)’)

*

a b (a& & b)

1 1 1

1 0 0

0 1 0

0 0 0

‘‘i’ tablicai’ tablica

*

‘‘ili’ tablicaili’ tablica

*

a b (a || b)

1 1 1

1 0 1

0 1 1

0 0 0

‘‘nene’ tablica’ tablica

*

a ! a

1 0

0 1

Operatori uspoređivanjaOperatori uspoređivanja

x x < < y y manje odmanje od

x x <=<= y y manje ili jednakomanje ili jednako

x x > > y y veće odveće od

x x >=>= y y veće ili jednakoveće ili jednako

x x = = = = yy jednakojednako

x x !=!= y y različito (nejednako)različito (nejednako)

*

Jednostavni logički izraziJednostavni logički izrazi

a = = ba = = boperand 1operand 1(subjekt)(subjekt)

operand 2operand 2(objekt)(objekt)

relacijarelacija(odnos)(odnos)

sudsud(tvrdnja)(tvrdnja)

*

Složeni logički izraziSloženi logički izrazi

(a < b) && (c = = d) || (e > f)(a < b) && (c = = d) || (e > f)

jednostavnijednostavnilog. izraz 1log. izraz 1

sudsud(tvrdnja)(tvrdnja)

jednostavnijednostavnilog. izraz 2log. izraz 2

jednostavnijednostavnilog. izraz 3log. izraz 3

logičkilogičkioperator 2operator 2

logički logički operator 1operator 1

*

Primjer 1.Primjer 1.

(a < b) && (c = = d) || (e > f)(a < b) && (c = = d) || (e > f)

00

*

11 11

00 11

11

a = b = 1a = b = 1c = d = 2c = d = 2

e = 4e = 4f = 3f = 3

&&&&

||||

Primjer 2.Primjer 2.

(a < b) && ((c = = d) || (e > f))(a < b) && ((c = = d) || (e > f))

00

*

11 11

00 11

00a = b = 1a = b = 1c = d = 2c = d = 2

e = 4e = 4f = 3f = 3

&&&&

||||

Prioriteti ispitivanjaPrioriteti ispitivanja

(1(1) zagrade) zagrade

((22) jednostavni logički izrazi) jednostavni logički izrazi

((33) negacije) negacije

((44) konjunkcija) konjunkcija

((55) disjunkcija) disjunkcija

*

ZadatakZadatak Fakultet nagrađuje najboljeg studenta studijskim putovanjem u SAD. Fakultet nagrađuje najboljeg studenta studijskim putovanjem u SAD.

Kandidiraju studenti A i B. Nagrada je samo jedna, a dobiti će je bolji. Kandidiraju studenti A i B. Nagrada je samo jedna, a dobiti će je bolji. Kriteriji:Kriteriji:

bolji je onaj koji ima bolji je onaj koji ima veću prosječnu ocjenu veću prosječnu ocjenu (Po),(Po), ako su im prosječne ocjene jednake, bolji je onaj koji je položio ako su im prosječne ocjene jednake, bolji je onaj koji je položio više više

ispita ispita (Bi),(Bi), ako imaju iste prosječne ocjene i jednaki broj položenih ispita, bolji ako imaju iste prosječne ocjene i jednaki broj položenih ispita, bolji

je onaj koji je ispite položio u je onaj koji je ispite položio u manje pokušajamanje pokušaja (Bp). (Bp). Zadatak:Zadatak: postavite složeni logički izraz čijim će se ispitivanjem doznati postavite složeni logički izraz čijim će se ispitivanjem doznati

tko će dobiti nagradu.tko će dobiti nagradu. PretpostavkaPretpostavka: ne može se dogoditi da svi kriteriji budu jednaki.: ne može se dogoditi da svi kriteriji budu jednaki.

*

RješenjeRješenjeifif (PoA>PoB) (PoA>PoB)

|| (PoA = = PoB) && (BiA > BiB)|| (PoA = = PoB) && (BiA > BiB) || (PoA = = PoB) && (BiA > BiB) && (BpA<BpB)|| (PoA = = PoB) && (BiA > BiB) && (BpA<BpB)cout << “A je bolji” << endl;cout << “A je bolji” << endl;

elseelsecout << “B je bolji” << endl;cout << “B je bolji” << endl;

Podaci za test (3)Podaci za test (3)

PoA=PoB=4.83PoA=PoB=4.83

BiA=BiB=28BiA=BiB=28

BpA=30BpA=30

BpB=29BpB=29

Podaci za test (2Podaci za test (2))

PoA=PoB=4.83PoA=PoB=4.83

BiA=28BiA=28

BiB=27BiB=27

BpA=30BpA=30

BpB=29BpB=29

*

Podaci za test (1Podaci za test (1))

PoA=4.82PoA=4.82

PoB=4.83PoB=4.83

BiA=BiB=28BiA=BiB=28

BpA=30BpA=30

BpB=29BpB=29 BB AA BB

Bitovni Bitovni operatorioperatori

*

Bitovni operatoriBitovni operatori

ii komplementkomplement

i & ni & n bitovni ‘i’bitovni ‘i’

i i || n n bitovni ‘ili’bitovni ‘ili’

ii ^ ^ n n isključivi ‘ili’isključivi ‘ili’

i i <<<< n n pomak u lijevopomak u lijevo

i i >>>> n n pomak u desnopomak u desno

*

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

0010010100100101

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

1101001010100101

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

1111100101100101

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

1101100010100101

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

1101110101010101

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

1101111011101101

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

1101101101100101

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

1101101110110111

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

1101101011011010

KomplementKomplement

Postavlja Postavlja 0 (nule) u 1 (jedan),0 (nule) u 1 (jedan), a a 1 (jedan) u 0 (nule):1 (jedan) u 0 (nule):

Primjer:Primjer:00100101 = 1101101000100101 = 11011010

1101101011011010

*

Binarni (bitovni) ‘Binarni (bitovni) ‘i’i’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod obaoba operanda operanda jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 & 00001111 = 0000010100100101 & 00001111 = 00000101

0010010100100101& & 0000111100001111

==

Binarni (bitovni) ‘Binarni (bitovni) ‘i’i’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod obaoba operanda operanda jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 & 00001111 = 0000010100100101 & 00001111 = 00000101

0010010100100101& & 0000111100001111

= = 00

Binarni (bitovni) ‘Binarni (bitovni) ‘i’i’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod obaoba operanda operanda jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 & 00001111 = 0000010100100101 & 00001111 = 00000101

0010010100100101& & 0000111100001111

= = 0000

Binarni (bitovni) ‘Binarni (bitovni) ‘i’i’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod obaoba operanda operanda jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 & 00001111 = 0000010100100101 & 00001111 = 00000101

0010010100100101& & 0000111100001111

= = 000000

Binarni (bitovni) ‘Binarni (bitovni) ‘i’i’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod obaoba operanda operanda jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 & 00001111 = 0000010100100101 & 00001111 = 00000101

0010010100100101& & 0000111100001111

= = 0000 0000

Binarni (bitovni) ‘Binarni (bitovni) ‘i’i’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod obaoba operanda operanda jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 & 00001111 = 0000010100100101 & 00001111 = 00000101

0010010100100101& & 0000111100001111

= = 00000 00000

Binarni (bitovni) ‘Binarni (bitovni) ‘i’i’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod obaoba operanda operanda jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 & 00001111 = 0000010100100101 & 00001111 = 00000101

0010010100100101& & 0000111100001111

= = 000001000001

Binarni (bitovni) ‘Binarni (bitovni) ‘i’i’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod obaoba operanda operanda jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 & 00001111 = 0000010100100101 & 00001111 = 00000101

0010010100100101& & 0000111100001111

= = 00000100000010

Binarni (bitovni) ‘Binarni (bitovni) ‘i’i’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod obaoba operanda operanda jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 & 00001111 = 0000010100100101 & 00001111 = 00000101

0010010100100101& & 0000111100001111

= = 0000010100000101

*

Binarni (bitovni) ‘Binarni (bitovni) ‘ili’ili’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) sve one bitove koji su u sve one bitove koji su u bilo bilo kojemkojem operandu operandu jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 | 00001111 = 0010111100100101 | 00001111 = 00101111

0010010100100101 | | 0000111100001111

==

Binarni (bitovni) ‘Binarni (bitovni) ‘ili’ili’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) sve one bitove koji su u sve one bitove koji su u bilo bilo kojemkojem operandu operandu jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 | 00001111 = 0010111100100101 | 00001111 = 00101111

0010010100100101 | | 0000111100001111

== 00

Binarni (bitovni) ‘Binarni (bitovni) ‘ili’ili’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) sve one bitove koji su u sve one bitove koji su u bilo bilo kojemkojem operandu operandu jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 | 00001111 = 0010111100100101 | 00001111 = 00101111

0010010100100101 | | 0000111100001111

== 0000

Binarni (bitovni) ‘Binarni (bitovni) ‘ili’ili’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) sve one bitove koji su u sve one bitove koji su u bilo bilo kojemkojem operandu operandu jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 | 00001111 = 0010111100100101 | 00001111 = 00101111

0010010100100101 | | 0000111100001111

== 001001

Binarni (bitovni) ‘Binarni (bitovni) ‘ili’ili’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) sve one bitove koji su u sve one bitove koji su u bilo bilo kojemkojem operandu operandu jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 | 00001111 = 0010111100100101 | 00001111 = 00101111

0010010100100101 | | 0000111100001111

= 0010= 0010

Binarni (bitovni) ‘Binarni (bitovni) ‘ili’ili’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) sve one bitove koji su u sve one bitove koji su u bilo bilo kojemkojem operandu operandu jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 | 00001111 = 0010111100100101 | 00001111 = 00101111

0010010100100101 | | 0000111100001111

= 00101= 00101

Binarni (bitovni) ‘Binarni (bitovni) ‘ili’ili’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) sve one bitove koji su u sve one bitove koji su u bilo bilo kojemkojem operandu operandu jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 | 00001111 = 0010111100100101 | 00001111 = 00101111

0010010100100101 | | 0000111100001111

== 001011001011

Binarni (bitovni) ‘Binarni (bitovni) ‘ili’ili’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) sve one bitove koji su u sve one bitove koji su u bilo bilo kojemkojem operandu operandu jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 | 00001111 = 0010111100100101 | 00001111 = 00101111

0010010100100101 | | 0000111100001111

== 00101110010111

Binarni (bitovni) ‘Binarni (bitovni) ‘ili’ili’

Postavlja Postavlja u 1 (jedan) u 1 (jedan) sve one bitove koji su u sve one bitove koji su u bilo bilo kojemkojem operandu operandu jednaki 1 (jedan). jednaki 1 (jedan).

Primjer:Primjer:00100101 | 00001111 = 0010111100100101 | 00001111 = 00101111

*

0010010100100101 | | 0000111100001111

== 0010111001011111

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

Postavlja Postavlja u 1 (jedan) u 1 (jedan) samo one bitove koji su kod samo one bitove koji su kod oba operanda međusobno oba operanda međusobno različiti.različiti.

Zaštita!Zaštita!Ponovljeni postupak vraća staro stanje!Ponovljeni postupak vraća staro stanje!

Primjer:Primjer:00100101 ^ 00001111 = 0010101000100101 ^ 00001111 = 00101010

*

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= =

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 0= 0

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00= 00

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 001= 001

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 0010= 0010

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101= 00101

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 001010= 001010

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 0010101= 0010101

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010^ ^ 0000111100001111

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010^ ^ 0000111100001111 00

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010^ ^ 0000111100001111 0000

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010^ ^ 0000111100001111 001001

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010^ ^ 0000111100001111 00100010

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010^ ^ 0000111100001111 0010000100

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010^ ^ 0000111100001111 001001001001

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010^ ^ 0000111100001111 00100100010010

Isključivi ‘ili’ (Isključivi ‘ili’ (ex-or, exclusive orex-or, exclusive or))

0010010100100101^ ^ 0000111100001111

= 00101010= 00101010^ ^ 0000111100001111 0010010100100101

početnoočetnostanjestanje

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 001100 11 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

00 00 001100 11 00 00

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 0011 11 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:char char a = 20; cout<< (a<<1) << endl;a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 0011 11 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 0011 11 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 0011 11 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 110011 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 110011 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 110011 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 110011 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 110011 00 00

Operatori ‘<<‘ i ‘>>’Operatori ‘<<‘ i ‘>>’

Pomiču sve bitovePomiču sve bitove lijevog operanda za onoliko lijevog operanda za onoliko mjesta mjesta u lijevou lijevo ili ili u desno u desno koliko je određeno koliko je određeno

desnim operandom.desnim operandom.

Primjer:Primjer:charchar a = 20; cout<< (a<<1) << endl; a = 20; cout<< (a<<1) << endl;Pomak za 1 bit u lijevo. Ispisuje se 40.Pomak za 1 bit u lijevo. Ispisuje se 40.

00 00 110011 00 00 00

*

Deklaracija Deklaracija typedeftypedef

typedef float broj;typedef float broj;

broj pi = 3.14159;broj pi = 3.14159;// isto je što i // isto je što i float pifloat pi

IdentifikatorIdentifikator broj broj = = sinonim zasinonim za floatfloat

*

Operator Operator sizeofsizeof

coutcout << “Dužina objekta tipa int je “<< “Dužina objekta tipa int je “<< sizeof (int) << “byte-ova”<< sizeof (int) << “byte-ova”<< endl;<< endl;

Daje Daje ukupnu dužinu objekta ukupnu dužinu objekta izraženu u izraženu u byte-ovima.byte-ovima.

*

Zarez: operator razdvajanjaZarez: operator razdvajanja

i = 10, i + 5; i = 10, i + 5; // rezultat: i=15// rezultat: i=15

Koristi se za Koristi se za razdvajanje izrazarazdvajanje izraza u u naredbama.naredbama.

*

Operatori pridruživanjaOperatori pridruživanja

Sastoje se od Sastoje se od operatoraoperatora i i znaka znaka jednakosti. jednakosti. Omogućavaju Omogućavaju kraći zapis kraći zapis naredbinaredbi, ali i njihovo brže izvršavanje, ali i njihovo brže izvršavanje::

= += -= *= /= %= >>= = += -= *= /= %= >>= <<= ^= &= |=<<= ^= &= |=

*

Primjeri s aritmetičkim Primjeri s aritmetičkim operatorima:operatorima:

charchar a; a;a = 20;

a += 5;

a -= 5;

a *= 5;

a /= 5;

a %= 5;

a = 20

a = 25

a = 20

a = 100

a = 20

a = 0

*

Primjeri s bitovnim Primjeri s bitovnim operatorima (1)operatorima (1)

charchar a = 20;a = 20;a << 1;//a << 1;//u lijevou lijevo

a >> 2; a >> 2; ////u desnou desnoa = 20;a = 20;

charchar b = 15;b = 15;a ^= b; //a ^= b; //ex-orex-or

a ^= b;a ^= b;a = 20;a = 20;b = 15;b = 15;a &= b; //a &= b; //bitovni ‘i’bitovni ‘i’

a = 00010100 = 20a = 00010100 = 20a = 00101000 = 40a = 00101000 = 40a = 00001010 = 10a = 00001010 = 10a = 00010100 = 20a = 00010100 = 20b = 00001111 = 15b = 00001111 = 15a = 00011011 = 27a = 00011011 = 27a = 00010100 = 20a = 00010100 = 20a = 00010100 = 20a = 00010100 = 20b = 00001111 = 15b = 00001111 = 15a = 00000100 = 4a = 00000100 = 4

*

Primjeri s bitovnim Primjeri s bitovnim operatorima (2)operatorima (2)

charchar a = 20;a = 20;

charchar b = 15;b = 15;

a |= b;//a |= b;//bitovni ‘ili’bitovni ‘ili’

a = 20; a = 20; b = ~a; b = ~a;

////komplementkomplement

a = 00010100 = 20a = 00010100 = 20b = 00001111 = 15b = 00001111 = 15a = 00011111 = 31a = 00011111 = 31a = 00010100 = 20a = 00010100 = 20b = 11101011 = 235b = 11101011 = 235

*

Recommended