Pointeri la funcţii. Operatori pe biţi

În acest laborator veţi învăţa să folosiţi:

  • operatori pe biţi
  • pointeri la funcţii
  • directive de preprocesare

Operatori pe biţi

  • & - şi
    Ex.: 11001100 & 10101010 = 10001000
  • | - sau
    Ex.: 11001100 | 10101010 = 11101110
  • ^ - sau exclusiv
    Ex.: 11001100 ^ 10101010 = 01100110
  • ~ - complement
    Ex.: ~11001100 = 00110011
  • << - deplasare la stânga (înmultire cu 2)
    Ex.: 0000100 << 2 = 0010000
  • >> - deplasare la dreapta (împărţire la 2)
    Ex.: 00001000 >> 2 = 00000010

Un exemplu de utilizare a operaţiilor pe biţi pentru diverse funcţionalităţi:

Pointeri la funcţii

Declararea unei variabile de tip pointer la funcţie are următoarea sintaxă:

Exemple de utilizare:

Directive de preprocesare

Sunt precedate întotdeauna de # şi se termină la sfârşitul liniei. Pentru a extinde o directivă şi pe linia următoare se foloseşte \. Preprocesarea se execută înainte de compilarea efectivă a programului.

Exemple directive de preprocesare: #define, #include, #if, #ifdef, #else, #line, #error

Exemple macrodefiniţii ( #define ):

Tips & Tricks

  • Există vreo metodă care calculează mai rapid numărul de biţi de 1 dintr-un întreg ? (întrebare interviu - nVidia [2008, 2009])
  • Se poate găsi o metodă de interschimbare a două valori fără o funcţie de swap definită în prealabil ? (pentru exemplul de la pointeri la funcţii !)

Probleme

Vezi pagina: 1  (4 rezultate)
Titlul problemeiAutorSursă
Problema 1ad-hoc
Problema 2ad-hoc
Problema 3ad-hoc
Problema 4ad-hoc
Vezi pagina: 1  (4 rezultate)