tipovi podataka
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 PresentationTRANSCRIPT
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
*