Quiero convertir un número a datos binarios de 32 bits. Cuando trato de convertir un número a datos de 16 u 8 bits, no hay ningún problema. Pero cuando pruebo 32 bits, el resultado no es correcto.
Ejemplo de 8 bits:
-1 & 255 //result -> 255 o -1 & 0xFF //result -> 255
Ejemplo de 16 bits:
-1 & 65535 //result -> 65535 o -1 & 0xFFFF //result -> 65535
Resultado incorrecto en 32 bits
-1 & 4294967295 //result -> -1 o -1 & 0xFFFFFFFF //result -> 4294967295
Mi expectativa en 32 bits, el resultado es 4294967295. -1 no es una respuesta correcta.
Como puede solucionar mi problema. Gracias
Encontré la respuesta de mi pregunta.
esto no funciona para 32 bits
-1 & 4294967295
esto funciona para 32 bits
-1 >>> 0 //result -> 4294967295
pero no entiendo la razón de este error.