Tengo un largo y un corto Quiero que los bits del short sobrescriban los 16 bits de menor orden del largo.Java: Cómo reemplazar los últimos 16 bits de un largo con un corto
Ex (rompe en trozos de 16 bits para facilitar la lectura):
> long = 0xffff 0xffff 0xffff 0xffff
> short= 0x1234
>
> output = (long)0xffff 0xffff 0xffff 0x1234
Como está escrito actualmente, esto se romperá si 's> = 0x8000', ya que Java firmará-extenderá' s' cuando lo convierta de 'corto' a' largo' para realizar el OR a nivel de bit. Ver también la edición que acabo de hacer en mi respuesta. – bcat
Sí, eso es cierto, repararé el mío también. – erickson