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

310
Views
¿Cómo maneja el método V8 toString(radix) en Google Chrome o en Node.js los números de punto flotante?

El método funciona claramente con números enteros, por ejemplo

 (25).toString(2) = '11001' (25).toString(16) = '19' (25).toString(36) = 'p'

Pero ingresar flotantes da como resultado

 (0.1).toString(2) = '0.0001100110011001100110011001100110011001100110011001101' (0.1).toString(16) = '0.1999999999999a' (0.1).toString(36) = '0.3lllllllllm'

Se dice que V8 es un motor de código abierto. Sin embargo, no puedo encontrar la implementación exacta de este método en el repositorio para poder entenderlo. ¿Cómo maneja la función los flotadores?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

(Desarrollador V8 aquí.)

El enlace de @pilchard es correcto; más específicamente, la función que está buscando es DoubleToRadixCString .

La observación de que 0.1 (decimal) es una fracción no terminante en su representación binaria (que es, por supuesto, cómo se almacenan los dobles dentro de las computadoras) es una buena ilustración de la razón subyacente por la que 0.1 * 3 == 0.30000000000000004 : la no las fracciones terminales necesariamente se cortan en algún punto, lo que constituye un error de redondeo, y algunas operaciones hacen visibles estos errores de redondeo. Es el equivalente binario de un efecto similar en decimal: cuando representa 1/3 como "0.333333" (eligiendo arbitrariamente 6 dígitos como la longitud representada, pero si solo corta después de 100 dígitos, eso realmente no cambiaría nada), y multiplica eso por 3, obtienes "0.999999", no 1.

about 4 years ago · Juan Pablo Isaza 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!