Hexadecimal (hex) literales en lenguaje de programación C

literales hexadecimales en lenguaje C : Aquí, vamos a aprender acerca de literales hexadecimales en lenguaje C , cómo utilizar literales hexadecimales , cómo asignar hexadecimal literal a una variable etc?

Hexadecimal literales en C

Los números hexadecimales son la técnica para representar los números que utiliza el número de base 16; que utiliza 16 dígitos alfanuméricos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A / a, b / B, C / C, D / d, E / e, f / F. (Leer: sistemas numéricos informáticos)

En lenguaje de programación C, que puede utilizar literales hexadecimales en cualquier expresión; podemos asignar números hexadecimales a las variables. Para utilizar literales hexadecimales, utilizamos 0X o 0x como un prefijo con el número. Por ejemplo 0x10 es un número hexadecimal, lo que equivale a 16 en el sistema de numeración decimal.

número hexadecimal de impresión en formato decimal

Para imprimir un número hexadecimal en formato decimal, utilizamos % X o % x especificador de formato.

número hexadecimal de impresión en formato hexadecimal

Para imprimir un número hexadecimal u otro tipo de números en formato hexadecimal, utilizamos % X o % x especificador de formato.

#include <stdio.h>
int main(){
//printing hexadecimal number in decimal format
printf("%dn", 0x10);
//printing hexadecimal number in hexadecimal format
printf("%Xn", 0x10);
//printing other format number in hexadecimal format
printf("%Xn", 16);
return 0;
}

salida

16
10
10

El uso de literales hexadecimales en las expresiones

#include <stdio.h>
int main(){
//adding two hexadecimal numbers
printf("%dn", (0x10+0x20));
//adding hexadecimal, decimal numbers
printf("%dn", (0x10+0x20+30+40));
return 0;
}

salida

48
118

Asignación literales hexadecimales a las variables

#include <stdio.h>
int main(){
int a = 0x10;
int b = 0x76541;
printf("a in hexadecimal: %x, and in decimal: %dn", a, a);
printf("b in hexadecimal: %x, and in decimal: %dn", b, b);
return 0;
}

salida

a in hexadecimal: 10, and in decimal: 16
b in hexadecimal: 76541, and in decimal: 484673

número de una entrada en formato hexadecimal

Para ingresar un número en un formato hexadecimal, utilizamos % X o % x especificador de formato en el scanf () función

#include <stdio.h>
int main(){
int a;
printf("Enter value of a in hexadecimal: ");
scanf("%x", &a);
printf("a in hex: %X, and in decimal: %dn", a, a);
return 0;
}

salida

Enter value of a in hexadecimal: 0192Af
a in hex: 192AF, and in decimal: 103087

while error usando un dígito inválido con el literal hexadecimal

Si utilizamos cualquier otro dígito, salvo excepción 0-9 y AF o AF, el programa devuelve un error de compilación ” dígito inválido ‘x’ en constante entera”

#include <stdio.h>
int main(){
int a = 0x10A;
int b = 0x129AG;
printf("a in hexadecimal: %X, and in decimal: %dn", a, a);
printf("b in hexadecimal: %X, and in decimal: %dn", b, b);
return 0;
}

de salida

prog.c: In function 'main':
prog.c:3:13: error: invalid suffix "G" on integer constant
int b = 0x129AG;
^

Leer más …

  • Octal literales en lenguaje C
  • trabajar con números octales en lenguaje C
  • de trabajo con los números hexadecimales en lenguaje C


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *