3 ms·
It's not really overflow. It's more like insufficient precision.
by tripa 17y ago
It's not really overflow. It's more like insufficient precision.
- jacquesm 17y agoInsufficient precision implies too little bits to store the number in. These are unsigned integers, they could have been represented as integers in a 64 bit unsigned value, if the number of bits in the variable destined to hold the input is not enough and you keep on working as though there are that's overflow al right. It should have simply thrown an error: operand too large. I have a dark brown feeling that it won't be long before it does though :)
- ars 17y agoThis bug has been there for years. So I don't think they'll fix it all that fast. They use floats for everything, not ints.
- jacquesm 17y agoThat would explain it quite nicely, the decimal64 implementation of the ieee floating point data tops out at 16 digits. edit: actually, it doesn't, the input above is 15 digits long.
- tripa 17y agoMy definition of "overflow" is along the lines of "value is too big to be represented by said type". If they had been using integers, ok. But they're using floats, and floats can hold numbers bigger than that. It all boils down to what type you consider the entries have, opposed to what Google considers.
- jacquesm 17y agoI did not realize they use floats to represent all types, 64.64 would have been an excellent choice for this and would go a long way to solving the issue reported.
- jballanc 17y ago...also known as Arithmetic underflow (http://en.wikipedia.org/wiki/Arithmetic_underflow http://en.wikipedia.org/wiki/Arithmetic_underflow)
- wlievens 17y agoThe correct term is quantization, iirc.