Dans le langage C, il est tout à fait possible d’affecter une valeur à une variable dès sa déclaration. Ainsi, lorsque cette variable est un entier non signé, la valeur qui lui est attribuée peut être écrite en base 10, en base 8, ou encore en base 16. Pourtant, la plupart des personnes qui utilisent le langage C n’affectent généralement que des valeurs en base 10 aux entiers non signés. De ce fait, dans cet article je vous montre donc comment affecter une valeur hexadécimale et octale en C, à des entiers non signés, et comment les afficher.

Comment affecter une valeur hexadécimale et octale en C à des entiers non signés ?
- En base 8 : il faut simplement précéder la valeur de l’entier d’un 0 (zéro).
Exemple : unsigned int var = 0112; Dans ce cas, le compilateur interprète cette valeur comme étant en base 8.
- En base 16 : il faut précéder la valeur de l’entier non signé par 0x.
Exemple : unsigned int var = 0x4A ; Ici, le compilateur comprend qu’il s’agit d’une valeur en base 16.

À présent, qui a une idée de comment afficher ces valeurs ?
- Pour des valeurs en base 8, il faut utiliser le format %o si l’entier est de type unsigned int et le format %lo s’il est de type unsigned long.
- Pour des valeurs en base 16, il faut utiliser le format %x si l’entier est de type unsigned int et le format %lx s’il est de type unsigned long.
Le code ci-dessous vous donne un exemple d’utilisation de ces formats :
En conclusion, on peut dire que l’objectif a été atteint : vous connaissez à présent comment affecter une valeur hexadécimale et octale en C à un entier. Des questions ou des remarques ? Alors faites le moi savoir en commentaire 🙂 .