Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

131
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!