@ecfisaLas mascaras 0xE, 0xC son erróneas...
int fusion_nibble(int low, int upper) { // Solo nos interesan los bits por ello no importa si son unsigned o signed... tampoco nos interesan el tipo...
return (low & 0xF) | ((upper << 4) & 0xF0); // usamos las mascaras para no alterar valores...
}
int main() {
char a = 12, b = 14;
printf("%d\n", (unsigned)fusion_nibble
(b
, a
)); return 0;
}
Dulces Lunas!¡.