• bisby@lemmy.world
    link
    fedilink
    English
    arrow-up
    20
    ·
    15 hours ago

    One of the benefits is only needing to have 64 bit libraries. With this change most people can drop their 32 bit stuff.

    Bits are literally “binary digits”. So more bits means bigger numbers. The reason you get more memory, is because when the code says “put this data in memory spot (number bigger than 32 bits)” … you cant with only 32 bits. How do you represent that number.

    Imagine that you want to put something in memory spot 150, but you only have 2 digits. You cant. Bumping it up to 4 digits, you can say “put this data in memory address 0150” and its fine. “bigger numbers == more addresses == more places to put stuff”

    So anywhere you need a number bigger than 32 bit represents, you can either just use a 64 bit number, or do a bunch of shenanigans. Those shenanigans require extra calculations inevitably. https://en.wikipedia.org/wiki/2,147,483,647 If youve ever seen this number before, it’s probably because of a 32 bit limitation. It shows up all sorts of weird ways.

    Bigger numbers here aren’t about taking up more space, just representing literally bigger numbers. “9999” only takes up 2x as much “space” as “99” but it repesents a number ~100x bigger.

    Sorry, I’m tired and rambling.