Asignación de un byte

Kherlon
16 de Marzo del 2005
Hola a todos,

Como se hace para asignar un valor a un byte,

Estoy haciendo esto pero me da un error de tipos incompatibles,

byte mask=11111111;

Tambien he provado en hexadecimal y sigue el error

byte mask=0xff;

Gracias por vuestra ayuda,

Kherlon.

asdf
16 de Marzo del 2005
Hola,

como sabes, un byte tiene ocho bits. Por lo tanto puede almacenar de 0 a 256. En java, los datos primitivios, excepto char, son signed, es decir, que el primero de los bits es usado para indicar si el número es positivo o negativo. Por lo tanto el rango de valores que admite un byte es de -128 a 127 (el 0 se considera positivo)

El error que te estará dando será de perdida de precisión, pq los valores que estás intentando asignarle al byte están fuera de la precisión que es capaz de almacenar. Debes realizar un casting,

byte mask = (byte)11111;

pero ten en cuenta que no estarás almacenado el valor que quieres.

Saludos