• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

198
Views
Reactjs - porcentaje a cadena hexadecimal de 8 bits

No estoy muy seguro de cómo resolver este problema, Pregunta:

**Convierte un porcentaje a una cadena hexadecimal de 8 bits linealmente

  • Los valores porcentuales válidos son de 0 a 100 incluidos
  • Si el porcentaje está fuera de este rango, limite el valor a min/max
  • La cadena devuelta debe tener un valor hexadecimal de 2 caracteres de largo
  • Usar redondeo para valores decimales
  • Ejemplos: 0 --> '00', 1 --> '03', 100 --> 'ff' @param {número} porcentaje - valor porcentual @returns {cadena} Cadena hexadecimal de 8 bits entre '00' y 'ff' **
 const percentageTo8BitHex = (percentage) => { // Insert your code here }; // This functions is here to test the result only export const testConversion = () => { const fixedValuesToTest = [-1, 0, 1, 100, 101]; const fixedExpectedResults = ['00', '00', '03', 'FF', 'FF']; const randomValuesToTest = []; for (let i = 0; i < 5; i++) { randomValuesToTest.push(Math.random() * 98 + 1); } fixedValuesToTest.forEach((value, index) => { console.log( `Testing: ${value} - expected ${fixedExpectedResults[index]} - received ${percentageTo8BitHex(value)}`, ); }); randomValuesToTest.forEach((value) => { const hexString = percentageTo8BitHex(value); const valueFromHex = parseInt(hexString, 0b10000) / 0b11111111; const valid = Math.abs(valueFromHex * 0x64 - value) < 0b10; console.log(`Testing: ${value} - received ${hexString} (${valueFromHex}) - ${valid ? 'VALID' : 'INVALID'}`); }); };

Mi resultado es:

Primero tengo que redondear Percentage = Math.max(0, Math.min(100, percentage))

Conversión a escala completa 0..100 => 0..FF es igual a 0..255

Entonces, ¿tengo que convertirlo así? hexadecimal = 255 * (porcentaje / 100).

¿Cuál es su opinión para resolver este problema? Agradezco sus respuestas.

almost 3 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error