Si vous devez afficher un résultat en base numérique 16, il n'est pas nécessaire de faire la conversion de décimal à hexadécimal.
#include <iostream>
using namespace std;
void main(){
int maVariable = 255;
cout<<hex<<maVariable<<endl; // attention si vous utilisez le hex, vous risquerez d'avoir un affichage entièrement en hexa
}
On appelle rotation de bits lorsque le programme est amené à déplacer un ou plusieurs bits soit vers la droite, soit vers la gauche dans une variable. On décale ainsi la position des bits. Un décalage trop élevé peut provoquer une perte de données.
int variable = 1;
variable = variable << 3; // on décale de 3 vers la gauche, variable vaut maintenant 8
variable = variable >> 1; // on décale de 1 vers la droite, variable vaut 4
variable <<= 5; // il est possible d'écrire ainsi
Un masque permet de faire des opérations binaires entre deux variables.
int var1 = 2;
int var2 = 5;
var2 = var2 | var1; // 2 : 0010 et 5 : 0101, on effectue une opération OU ce qui donnera 0111 qui vaut 7
var1 = var1 & var2; // 2 : 0010 et 7 : 0111, on fait un ET, on obtient 0010 ce qui vaut 2
var2 |= var1; //notation possible aussi
var1 &= var2;
int maValeur = 0xF25;
int tailleChaine = printf("ma chaine");
cout<<tailleChaine<<endl;