Dev - C++ - Operaciones con bits C++

 
Vista:
sin imagen de perfil

Operaciones con bits C++

Publicado por Álvaro (1 intervención) el 20/11/2022 23:12:33
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;
}

El resultado debía imprimir 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 a y b (a^b) que me da 1100001, pasándolo a decimal 97.
¿Alguien sabe dónde está el fallo? Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Operaciones con bits C++

Publicado por dario (718 intervenciones) el 21/11/2022 03:23:08
Hola, lo he compilado y sale 51.
Ten en cuenta que la operacio XOR es "1" cuando ambos operandos son diferentes.


dos
uno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar