Quiero obtener al menos 32 bits de un tipo de tipo largo, por lo que realizo la operación bit a bit "&" en el número con máscara de bits 0xFFFFFFFF, pero el resultado no es correcto, todavía contiene los otros bits.Bitwise "&" on a long?
por ejemplo:
long a = 0x1234567890ab;
long b = (a & 0xffffffff);
espero que el valor de b para ser 0x567890ab
pero en la práctica, sigue siendo 0x1234567890ab
Como un programador C (25 años) estoy acostumbrado a utilizar variables sin firmar para evitar extensión de signo problemas, pero en este caso debería haber intentado agregar la L al final de mi litral. Estoy aprendiendo Java y probablemente caeré en algunos otros escollos: o) –
Maldita buena pregunta. Me acabo de enterar de esto y la respuesta fue toda una sorpresa. ¿Esta falta en Java Puzzlers? :) –