If the calendar was written in C++ or many of it’s derivatives then signed integer overflow is undefined behaviour and it could technically choose to do anything it damn well wants (unsigned integers actually do have defined overflow behaviour). Something tells me the runtime of a paper calendar is anything but standard :D
It’s not the overflow that’s the issue, but a calculation failure that causes the date value to be “0” and thus list the date as January 1, 1970. It’s happened to me several times with Pokemon GO.
In this case, it is the overflow as 01111111...11111111+1 in binary becomes 10000000...00000000. (Yes, negative numbers in signed integer format are represented as starting with 1)
But yes, some programs erroneously fall back to 0 in case of a null value, which corresponds to 1970-01-01. That’s why so many geotags were recorded for Null Island.
Inaccurate. Signed 32-bit integer epoch overflows from January 2038 to December 1901.
If the calendar was written in C++ or many of it’s derivatives then signed integer overflow is undefined behaviour and it could technically choose to do anything it damn well wants (unsigned integers actually do have defined overflow behaviour). Something tells me the runtime of a paper calendar is anything but standard :D
It’s not the overflow that’s the issue, but a calculation failure that causes the date value to be “0” and thus list the date as January 1, 1970. It’s happened to me several times with Pokemon GO.
Fuck the specs. If Pokemon GO says it, that’s good enough for me.
In this case, it is the overflow as
01111111...11111111+1
in binary becomes10000000...00000000
. (Yes, negative numbers in signed integer format are represented as starting with 1)(GIF)(Why you should trust this)
But yes, some programs erroneously fall back to
0
in case of anull
value, which corresponds to 1970-01-01. That’s why so many geotags were recorded for Null Island.For those wanting to know why, its called Two’s complement
Haha, that’s right. Immediate noticed that.