• SHITPOSTING_ACCOUNT@feddit.de
    link
    fedilink
    arrow-up
    10
    ·
    10 months ago

    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.

    • 257m@lemmy.ml
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      10 months ago

      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.

      • SHITPOSTING_ACCOUNT@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        10 months 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.