Documente Academic
Documente Profesional
Documente Cultură
Cursul VI
Operatoruldeconversiedetip(cast)esteoperatorunar careareaceeasiprioritateiasociativitate(deladreaptala care are aceeasi prioritate i asociativitate (de la dreapta la stanga)ca operatorii unari.
(float) i+3 esteechivalentcu((float) i)+3
5 Limbaje deprogramare Conf.dr.L. STOLERIU LSTOLER@UAIC.RO
Declarareavariabilelordetipenum zile:
enum zile zi1, zi2; il i1 i2
Variabilelezi1izi2potfifolositedeexempluca:
zi1 = miercuri;
6 Limbaje deprogramare Conf.dr.L. STOLERIU LSTOLER@UAIC.RO
typedef
Cpuneladispoziiefacilitateatypedef pentru redenumireatipurilordejaexistente. redenumirea tipurilor deja existente
typedef int culoare; culoare rosu, verde, albastru;
typedef typedef
Sepotfolosiicasturi pentruvariabileledefinitecu yp typedef. Deexemplu:
enum zile {duminica, luni, marti, miercuri, joi, vineri, sambata}; yp ; typedef enum zile zi; zi o_funcie(zi z) Ce face aceast { funcie? return ((zi)(((int) z + 1) % 7)); }
9 Limbaje deprogramare Conf.dr.L. STOLERIU LSTOLER@UAIC.RO
~
Operatorul~senumeteoperatordecomplement(sau ope ato de co p e e t pe b t) cesta ve sea operatordecomplementpebit). Acestainverseaz reprezentareairuluipebii,adic0devine1i1devine0.
short a = 5171; 1 1
Reprezentareabinaraluia este:
00010100 00110011
Expresia~a este:
11101011 11001100
Adic:
- 5172 sau 60364
11
12
13
Reprezentare 00001101 00000101 00011110 01100001 00001100 00000001 00010011 01100100 00011111 01100101 11100000 10011010 11100000 10011010
facecareprezentareapebiipentruexpresie1 sfie deplasatctrestngacuunnumrdepoziiispecificatde expresie2.ncaptuldindreapta,vorfiadugate0uri. expresie2 n captul din dreapta vor fi adugate 0 uri
15
16
Mti
Omascesteoconstantfolositpentruextragereabiilor do d t o a t va ab sau e p es e doriidintroaltvariabilsauexpresie. Dinmomentceint 1 este:
00000000 00000001
poatefifolositpentrudeterminareabituluicelmai nesemnificativ:
int i, masca = 1; for (i = 0; i < 10; i++) printf("%d \n", i & masca);
Mti
Putem folosi 1<<4pentru avedea alcincilea bitdin d eapta p es a dreapta.Expresia
((v & (1 << 4)) >> 3) ? 1 : 0
arevaloarea 1sau 0dup cumeste albitul5 dinv. Altexemplu demasc este constanta 255
00000000 11111111
Expresia
v & 255
va ntoarce ovaloare ce arecareprezentare pe bii toi biii dinbyteul dinstnga 0 i cel dindreapta identic cuoctetul dindreapta alui v.Spunem c 255 este masc pentru octetul din dreapta. dindreapta.
19 Limbaje deprogramare Conf.dr.L. STOLERIU LSTOLER@UAIC.RO