Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>That's not true at all, Lua < 5.3 uses doubles for all numbers

I know that of course, but using doubles for integer math is only safe if you limit yourself to a certain integer range.

>which on most computers is IEEE 754, they can represent integers perfectly up to 2^53

False. You get rounding errors after 10^14.

>The value is not corrupted, depending on the rounding mode is which number you're going to get out of that (I get 9223372036854774784)

The above being an example of such a rounding error.

If I assign the value 9223372036854775000 to a variable I expect said variable to afterwards have the value 9223372036854775000 not 9223372036854774784. Your example is exactly what I meant with "corrupted" i.e. the value is changed by the conversion.



Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: