• @Etterra
    link
    English
    36 months ago

    Okay, so why can’t we just not use exponentially growing values? Like 96 bit (64 + 36). I’d the something intrinsic about the size increases that they HAVE to be exponential? Why not linear scaling? 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, etc.

    • @[email protected]
      link
      fedilink
      English
      156 months ago

      We can, but it’s awkward to do so. By having everything work with powers of 2 you don’t need to have everything the same size, but can still pack things in memory efficiently.

      If your registers were 48bits long, you can use it to store 6 bytes, or 3 short ints, but only one int with 16-bits going unused. If they are powers of two in size, you can always fit smaller things in them with no wasted space.

      • @asmoranomar
        link
        English
        116 months ago

        A better example is to explain the chaos of having to go to the grocery store and pick up some hot dogs and buns. You know the pain.

    • @[email protected]
      link
      fedilink
      English
      76 months ago

      Because CPU registers are all powers of 2, i.e. exponential in this fashion. And it’s also just the same reason - 64 is high enough, why go to 96 or 80 or something?

    • @friend_of_satan
      link
      English
      3
      edit-2
      6 months ago

      In binary, when you add one more numeric place, things double. Not doubling would be like having two digit decimal numbers but only allowing people to count to 50.