• BradleyUffner
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 days ago

    Marketing. They can advertise higher numbers than they practically deliver.

  • DaleGribble88@programming.dev
    link
    fedilink
    English
    arrow-up
    38
    ·
    3 days ago

    Marketing says it has 1,000,000,000,000 bytes, aka 1 Trillion bytes. SI unit naming conventions dictate that is 1 Tera-of-bytes.

    Computers work with powers of 2 (Like 2, 4, 8, 16, 32, …), and wouldn’t you know that 2^10 is 1024. So computer scientist will use 1024 as a stand in for Kilobyte because it makes a lot of the math elsewhere much easier.

    So, when you buy a 1TB hard drive, the manufacturer is advertising it at 1 Trillion bytes. However, your operating system, like Windows or Linux or MacOS, divides by 1024 when doing the conversion like so: 1 Trillion / 1024 / 1024 / 1024. That works out to just over 931.

    To help avoid confusion, the proper term for the 1024 number is a “Kibibyte,” abbreviated KiB, instead of a “kilobyte,” abbreviated KB. Similar names exist for Mebibytes, Gibibytes, Tibibytes and beyond!

    TL;DR Your box is measured in TB and your computer measures in TiB because 1st number is bigger and 2nd number is actually useful.

    • unitedwithme@lemmy.today
      link
      fedilink
      arrow-up
      13
      ·
      3 days ago

      Exactly this! MiB and MB were used interchangeably 30+years ago and MB stuck probably because if was easier to say and remember. Plus, 1000 bytes vs 1024 bytes wasn’t a big difference, same with 1,000KB vs 1,024KB. I recall Windows XP seeing my 16GB flash drive as 14.5GB. Now my 16TB drives are “14.5TB”.

    • Siru@discuss.tchncs.de
      link
      fedilink
      arrow-up
      8
      ·
      3 days ago

      For the record, this is just windows. MacOS and (most) flavors of Linux use the standard SI units. And also, just because computers are base2 for the mathematics inside the processor, that doesn’t mean they have problems dealing with number other than 2^n. That would be equivalent to saying that humans can only use numbers like 10, 100, 1000 and nothing in between.

      (The only area where things do get difficult is calculating with fractional values, such as 1/3 because the count of decimals needed to represent can vary depending on the base. For example, 1/3 is difficult to represent in base10 because it is infinite 0.333… however in base3 it requires only a single ‘decimal’/fractional digit 0.1.)

      • DaleGribble88@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 days ago

        Good to know about MacOS and Linux. I usually never turn on the human readable mode on my distros because most are VMs.

        Anyway, computers absolutely work best with working with numbers 2^n. That gives the most amount of space per bit. Otherwise, we would end up using the same amount of transistors for a fewer number of states. They could also greatly complicate the ALU to determine if it suddenly entered a forbidden state. Two’s compliment would certainly be much more difficult.

        Submitting would be nearly impossible too

  • ExtremeUnicorn@feddit.org
    link
    fedilink
    arrow-up
    15
    ·
    edit-2
    2 days ago

    This problem basically stems from the issue that Windows displays Mebibyte/Gibibyte values, but falsely calls them MB/GB instead of the correct MiB/GiB, for whatever reason.

    This has been an issue for decades and I don’t think it ever got addressed.

    My guess is they don’t want to irritate users not only with the “wrong” menory size, but also an abbreviation they don’t know.

    • calcopiritus
      link
      fedilink
      arrow-up
      7
      ·
      3 days ago

      for whatever reason

      Windows is basically older than the "Xbibyte"s.

      Not saying that they shouldn’t switch. But there is a reason.

    • expletivedeleted@lemmy.zip
      link
      fedilink
      arrow-up
      1
      ·
      2 days ago

      And you are correct, and to add to it, your formatting information also takes up space. But your point is far more pertinent.

  • ParadoxSeahorse
    link
    fedilink
    arrow-up
    6
    ·
    3 days ago

    Here come the Mebibytes
    It’s the MiBs, here come the MiBs
    Here come the Mebibytes 
    (Mebibytes)
    That you won’t remember

  • betterdeadthanreddit
    link
    fedilink
    arrow-up
    24
    ·
    3 days ago

    It’s not 931 GB, it’s 931 GiB. If there’s a choice between brand A’s 931 GiB drive and brand B’s 1 TB drive, which do you think will fly off the shelves faster?

  • adarza@lemmy.ca
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    3 days ago

    iirc some early hdd did use binary units for specifications (a kilobyte was 1024 bytes). marketing and greed got manufacturers to switch to the ‘larger sounding’ decimal-based units but they were called the same thing (where a kilobyte was 1000 bytes). bigger numbers sell better or some bullshit.

    there’s been lawsuits over it, which is why the retail boxes and manufacturer web sites have the disclaimer about them using decimal-based units. other lawsuits resulted in the verbiage about ‘formatted capacity’ or ‘usable space’ being less probably also being present.

    the distinctly different binary units themselves (such as ‘mebibyte’) were introduced and standardized by IEC ~ 1998.

  • rockSlayer@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    3 days ago

    It has to do with SI units, marketing, computer science, and a few other intersections. Before marketing took over the term, kilo-, mega-, giga-, and all other methods of measuring data were powers of 2, because binary is a base 2 number system. So a kilobyte is 210 bytes, megabytes are 220 bytes, gigabytes are 230 bytes, etc. These units are denoted as KB, MB, GB, etc.

    Well, to marketing ghouls, this standard is just simply too inconvenient because it’s not in base 10. So they simply just rounded up. In small amounts of data, rounding to 1 kilobyte from 1000 bytes isn’t all that far off. But as you can imagine, this skews the correct amount of data as it starts growing to larger units.

    Manufacturers were unwilling to listen to the people that understand computers, so IEEE created a new standard unit, the -ibibyte, to clear the confusion that capitalists needlessly invented. So now the units that are in powers of 2 are called kibibytes, mebibytes, gibibytes, etc. these units are denoted with KiB, MiB, GiB, etc.

    The reason 1TB is equivalent to 931GiB is because the metric terabyte is 1011 while the SI tibibyte is 240