you are viewing a single comment's thread
view the rest of the comments
[–] 12 points 9 months ago (14 children)

From a programmer and optimizer perspecpective, I always prefer the original binary definitions for memory sizes.

Like, I prefer the speed and convenience of being able to perform bit shifts within a binary system to quickly multiply and divide by powers of 2, without the headache of having to think in decimal.

The whole base 10 thing is more meant for the average consumer and marketing, not those that actually understand the binary nature of the machine.

  • source
  • hideshow 14 child comments
  • [–] 3 points 9 months ago

    I always still use powers of 2 for everything. Even though I can have any hdd size I want with virtualization, I still do it as power of 2.

    For anything consumer facing marketing, sure it's 1000. But it just makes sense to keep programming with 1024.

  • source
  • parent
  • [–] 1 point 9 months ago (4 children)

    Okay, so you can take 0.1 seconds to write a lowercase "i".

  • source
  • parent
  • hideshow 4 child comments
  • [–] 3 points 9 months ago (3 children)

    No, I learned programming back when programmers actually worked in binary and sexadecimal (Ok IBM fanboys, they call that hexadecimal now, since IBM doesn't like sex).

    I still use the old measurement system, save for the rare occasions I gotta convert for the average layman terms.

    It tells a lot really quick when talking to someone else, when they don't understand why 2^10 (1024) is the underlying standard that the CPU likes.

    Oh wait, there's a 10 in (2^10)...

    Wonder where that came from?.. 🤔

    I dunno, but bit shift binary multiplications and divisions are super fast in the integer realm, but get dogshit slow when performed in the decimal realm.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 9 months ago (2 children)

    I'm not denying any of that. You can just be precise, is all.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 9 months ago (1 child)

    But if you fall into the folly of decimal on a device inherently meant to process binary, then you might allocate an array of 1000 items, rather than the natural binary of 1024, leading to a chance of a memory overflow...

    Like, sell by the 1000, but program by the 1024.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 9 months ago (7 children)

    KiB for FTW :-)

    been using it for years now when i need to be precise. colloquially, everyone i know still understands that contextually, K is 2^10

  • source
  • parent
  • hideshow 7 child comments
  • [–] 3 points 9 months ago (6 children)

    I'm not all about jamming a random i into terminology that was already well defined decades ago. But hey, you go for it if that's what you prefer.

    By the way, 'for FTW' makes about as much sense as saying 'ATM machine', it's redundant.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 1 point 9 months ago (1 child)

    KiB was defined decades ago... Way back in 1999. Before that it was not well defined. kb could mean binary or decimal depending on what or who was doing the measurements.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 9 months ago*

    And? I started programming back in 1996, back when most computer storage and memory measurements were generally already well defined, around the base 2 binary system.

    Floppy disks were about the only exception, 1.44MB was indeed base 10, but built on top of base 2 for cluster size. It was indeed a clusterfuck. 1.44MB was technically 1.38MiB when using modern terms.

    I do wonder sometimes how many buffer overflow errors and such are the result of 'programmers' declaring their arrays in base 10 (1000) rather than base 2^10 (1024)... 🤔

  • source
  • parent