Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
establecer byte si el valor no puede caber

Quiero establecer un byte en el valor máximo o mínimo, si el valor que trato de asignar es mayor. ¿Hay una mejor manera de hacerlo, en lugar de verificar con declaraciones if?

ejemplo:

 int[] arr = new int[128]; // assume int array is filled with random values byte[] arr2 = new byte[128]; for (int i = 0; i < arr.length; i++) { if (arr[i] > 127) { arr2[i] = 127; } else if (arr[i] < -128) { arr2[i] = -128; } else { arr2[i] = arr[i]; } }

¿Hay alguna manera de reemplazar la instrucción if/else con operaciones bit a bit? ¿O hay una forma más inteligente/rápida de hacerlo?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede encadenar Math.min(int, int) y Math.max(int, int) . Me gusta,

 arr2[i] = (byte) Math.min(127, Math.max(-128, arr[i]));

Si arr[i] es menor que -128 , tomará -128 . Si el resultado de eso es mayor que 127 , tomará 127 . Que debería cubrir todos sus casos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda