[ Foro de C ]

Duda operaciones con bits

20-Nov-2022 22:48
Álvaro Medina Pintor
1 Respuestas

Hola buenas, en un examen de programación escrito nos dieron este código:

#include <stdio.h>
int main(void)
{
int a=0x48, b=25;
printf("%x\n", a^b);
return 0;
}

Teníamos que decir que el resultado a imprimir sería 51 pero no entiendo por qué.

Yo paso 0x48 de hexadecimal a decimal, y de decimal a binario (a=1001000)
Y 25 de decimal a binario (b=101001)
Después hago un XOR entre los dos (a^b) y me devuelve 1100001, que pasándolo a decimal es 97.

¿Alguien sabe dónde está el error? Gracias


21-Nov-2022 22:04
Invitado (demetrio)

hola álvaro

solo fijate que estas usando algunas anotaciones en hexadecimal

tienes el 48 como número hexadecimal
al que le haces una operación de bits xor
con el 25 decimal

y el resultado lo muestras en hexadecimal

suerte ;-)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)