this post was submitted on 11 Sep 2023
636 points (98.3% liked)

Ask Lemmy

26707 readers
1398 users here now

A Fediverse community for open-ended, thought provoking questions

Please don't post about US Politics.


Rules: (interactive)


1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them


2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?


3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.


4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [email protected] or [email protected]. NSFW comments should be restricted to posts tagged [NSFW].


5) This is not a support community.
It is not a place for 'how do I?', type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email [email protected]. For other questions check our partnered communities list, or use the search function.


Reminder: The terms of service apply here too.

Partnered Communities:

Tech Support

No Stupid Questions

You Should Know

Reddit

Jokes

Ask Ouija


Logo design credit goes to: tubbadu


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago (1 children)

What is the basis for the 2038 problem?

[–] [email protected] 11 points 1 year ago (2 children)

The most common date format used internally is "seconds since January 1st, 1970".

In early 2038, the number of seconds will reach 2^31 which is the biggest number that fits in a certain (also very common) data type. Numbers bigger than that will be interpreted as negative, so instead of January 2038 it will be in December 1901 or so.

[–] [email protected] 2 points 1 year ago (1 children)

Huh interesting. Why 2^31? I thought it was done in things like 2^32. We could have pushed this to 2106.

[–] [email protected] 10 points 1 year ago (1 children)

Signed integers. The number indeed goes to 2^32 but the second half is reserved for negative numbers.

With 8 bit numbers for simplicity:

0 means 0.
127 means 127 (last number before 2^(7)).
128 means -128.
255 means -1.

[–] [email protected] 0 points 1 year ago (1 children)

Why not just use unsigned int rather than signed int? We rarely have to store times before 1970 in computers and when we do we can just use a different format.

[–] [email protected] 1 points 1 year ago

Because that's how it was initially defined. I'm sure plenty of places use unsigned, which means it might either work correctly for another 68 years... or break because it gets converted to a 32 bit signed somewhere.

[–] [email protected] 1 points 1 year ago

so instead of January 2038 it will be in December 1901...

Maybe this is just a big elaborate time travel experiment 68 years in the making?