Please create an account to participate in the Slashdot moderation system


Forgot your password?
Data Storage Operating Systems Windows Hardware

When 1 GB Is Really 0.9313 Gigabytes 618

An anonymous reader writes "When it comes to RAM, as every geek knows, 1 GB does not mean 1 billion bytes.. it means 2**30 (1,073,741,824) bytes. However, several decades ago "they" decided that GB, MB, and KB would be interpreted differently when it comes to disk drives; 1 GB means exactly 1 billion bytes. Ed Bott points out that Microsoft's marketers and Windows kernel developers aren't on the same page when it comes to these units: the marketers use the more generous decimal interpretation, while Windows measures and reports capacity using the binary (2**30) measure. Careful customers who bother to check what they've got have been known to get peeved by the discrepancy."
This discussion has been archived. No new comments can be posted.

When 1 GB Is Really 0.9313 Gigabytes

Comments Filter:
  • by liamevo ( 1358257 ) on Monday February 11, 2013 @06:53AM (#42857061)

    Article is a forum post from 2008 talking about things we knew before then.

    Why was this posted?

    • Even worse! (Score:5, Insightful)

      by Anonymous Coward on Monday February 11, 2013 @06:56AM (#42857075)

      To make it even worse, the first comment in that forum states:

      > this is common knowledge for most ppl here.

      timothy should get fired. He's not doing what he is supposed to be doing in a very grossly incompetent, outright insulting, way.

    • by mrbluze ( 1034940 ) on Monday February 11, 2013 @06:56AM (#42857077) Journal

      Article is a forum post from 2008 talking about things we knew before then.

      Why was this posted?

      Extra slow news day?

      • Article is a forum post from 2008 talking about things we knew before then.

        Why was this posted?

        Recently I decided there were now so many of these ludicrous stories, it was a waste of time to post regularly. As of this very second, I'm beginning to wonder if it's even worth the bother to parse the daily Slashdot headlines.

    • by adolf ( 21054 )

      Article is a forum post from 2008 talking about things we knew before then.

      Why was this posted?

      As a reminder of the present.

    • Why was this posted?

      It's been on deferral until enough time has passed since Steve Jobs uploaded himself to the iCloud. The author mentioned Apple, so it got tagged. Homeland Editorial was a little slow in picking up the intel. We assure you that we have fired the editor responsible for this. Also, the person who wrote that last sentence has also been fired, as well as his manager, his manager's manager, and the entire division. We take redundancy and outdated news very seriously here at NuSlash. We take redundancy and outdate

    • Article is a blog post from February 9th 2013. You are looking at a follow up link commented on previous debate about this continuing issue.

      Complaining it's old news is like moaning that your newspaper has a report about drunk driving. Old news, but the story is it still happens and still affects people.

      In this case the story is also that this situation is ridiculous and confusing. It should be sorted.

    • by tgd ( 2822 )

      Article is a forum post from 2008 talking about things we knew before then.

      Why was this posted?

      Chance to take a dig at Microsoft, drive a flamefest and get ad views.

      You know, like Slashdot has been for a decade.

  • by DiSKiLLeR ( 17651 ) on Monday February 11, 2013 @06:58AM (#42857089) Homepage Journal

    Yeah yeah, this is old news.. but nevertheless, this is one of the only things in the IT industry that really peeves me off.

    Its not just Windows, but Linux and every other OS uses the base 2 notation for KB, MB, GB, TB, etc.

    Why can't we just oust hard drive manufacturers for what they're really doing (ripping us off) and force them to just base 2 notation :/

    • by StoneyMahoney ( 1488261 ) on Monday February 11, 2013 @07:02AM (#42857107)

      If the computer industry can't adapt to counting the way of the rest of the world does, that's our problem. We should be pointing at whoever originally decided that they should usurp the already established term Kilo to mean 1024 and slapping them upside the head. Anything less is pure arrogance on our part.

      • by mwvdlee ( 775178 ) on Monday February 11, 2013 @07:08AM (#42857155) Homepage

        Because the rest of the world refuses to use the obvious and standarddized solution of using Ki and Mi.

        • Why should they? It's not like enough of us are rushing to use those terms right now. The entire computer industry's historic dumb acceptance of an erroneously redefined numerical term makes it's our problem to fix, no-one else's.

          Does anyone else remember a CS class when a lecturer papered over the cracks of this particular issue?

      • by Anonymous Coward on Monday February 11, 2013 @07:26AM (#42857269)

        Back when I first studied c.eng, it was drummed into us that base 2 units were ONLY to be used for references to perfectly binarily addressable devices. RAM as we have it today with word lengths that are also powers of two is one. CPU Registers another. Some displays at the time were as well, although no longer, and the origin there was RAM based.

        All else, such as file sizes, card, tape or disk storage, network bandwidth, logic frequency and the like were strictly Base 10.

        Then small systems crept in and base 2 assumptions began to spread. The 1980s brought hard drives marketed with base 2 units. In the 1990s people started to believe a 10MHz cpu was 1024*1024*10 Hz.

        Now this century it's not uncommon to find self-professed geeks calculating say, theoretical throughputs based on the idea their gig-ethernet is 1073741824 bits per second, or that their CPU/RAM speeds use similar numbers in GHz.

        it amuses and saddens me to see newbie geeks calling base 10 hard drive sizes "marketing units", when they simply haven't been taught correctly.

      • Re: (Score:2, Insightful)

        by Twinbee ( 767046 )
        Not all of us like kilo to mean 1024. I don't. However, there's a good argument for getting the world to switch to base 8 or 16 for the basic number system. That would trickier to achieve, but we would all be happier in the end, and everything would be consistent (I do like base 12 however, sigh...).
    • by PybusJ ( 30549 )

      Well for one reason, the hard drive manufacturers have the ISO standards on their side.

      There are well defined (though, unfortunately, rather ugly) prefixes for 2^10, 2^20, 2^30, 2^40: kibi, mebi, gibi, tebi. If people want to use base 2 quantities, then use the right unit and there isn't any confusion. Apple does the right thing in reporting sizes in base-10 units; GNOME also does the right thing and uses base-10 units, so I don't think you can say that Linux is in the same situation as windows here.

      If lo

    • Its not just Windows, but Linux and every other OS uses the base 2 notation for KB, MB, GB, TB, etc.

      MacOS X isn't "every other OS" then.

      First, MacOS X takes KB = thousand bytes, MB = million bytes, GB = billion bytes, and TB = trillion bytes. As is standard everywhere. Second, nobody uses base 2 notation. Writing 1010KB for ten Kilobytes would be just stupid. Third, claiming that hard drive manufacturers are ripping you off is stupid. When they sell a 500 GB drive it has space for 500 billion bytes, which is _exactly_ what 500 GB means.

  • Terabytes (Score:5, Informative)

    by Janek Kozicki ( 722688 ) on Monday February 11, 2013 @06:59AM (#42857095) Journal
    It gets worse when you start counting terabytes. I recently bought a 2TB HDD and grown my mdadm raid array using:

    mdadm --add /dev/md69 /dev/sde3
    mdadm --grow --bitmap=none /dev/md69
    mdadm --grow --raid-devices=5 --backup-file=/root/grow_md69.bak /dev/md69
    mdadm --grow --bitmap=internal --bitmap-chunk=65536 /dev/md69
    resize2fs /dev/md69

    And I was surprised that my filesystem grew only by 1800 GB ! Still a bit more space for rsnapshot cron backing up all my family's PCs twice per day. But still... I wanted 2TB more, not 1.8TB.

    • Re:Terabytes (Score:5, Insightful)

      by neyla ( 2455118 ) on Monday February 11, 2013 @07:44AM (#42857353)

      It does indeed get worse and worst with increasing size of the units.

      The difference between 1 KB in base-10 and base-2 is 2.4%

      The difference between 1MB in base10 and base2 is 4.9%

      The difference between 1GB in base10 and base2 is 7.4%

      The difference between 1TB in base10 and base2 is 10%

      The difference between 1PB in base10 and base2 is 13%

      The difference between 1EB in base10 and base2 is 15%

      2.4% difference isn't a huge deal, but 15% difference is much more noticeable.

  • If there's a query about which units are being used, the question "Is that 'real' GB or do you mean 'marketing' GB?" is the way I usually phrase it.

  • GiB (Score:5, Informative)

    by Anonymous Coward on Monday February 11, 2013 @07:02AM (#42857113)

    Finally adopt the official prefixes.
    If you are talking decimal, use GB. If you are talking binary, use GiB.

    • "official"
      on whose auth ?

    • by mwvdlee ( 775178 )

      Agreed completely. The rest of the world refuses to achnowledge these units.
      What is more interresting is why the harddrive manufacturers, who will surely be aware of these standardized units, don't mention them anywhere.

      • Re: (Score:2, Insightful)

        by Psychotria ( 953670 )

        The United States of America can't convert to metric and SI units so it's not reasonable that they could convert to any standard. It is a country full of dumb arses (or, asses because they also cannot spell.)

    • by swilver ( 617741 )

      Fuck that. They can use "decimal GB" or dGB as their "official" prefix. KB, MB and GB are base 2, and have been for decades. Live with it.

      • Fuck that. They can use "decimal GB" or dGB as their "official" prefix. KB, MB and GB are base 2, and have been for decades. Live with it.

        You are clueless. I can live with that. You, on the other hand, might decide to grow up.

    • On my KDE Linux most programs are very good about making this distinction. You can even choose which option you want system-wide.

    • Re: (Score:3, Insightful)

      by Psychotria ( 953670 )

      Sorry, but that's rubbish. GiB was "invented" to justify the incorrect marketing. 1GB has *always* and forever will be 2^30.

      • Re:GiB (Score:5, Insightful)

        by L4t3r4lu5 ( 1216702 ) on Monday February 11, 2013 @10:51AM (#42858699)
        Sorry, but that's rubbish. "Giga is a unit prefix in the metric (base 10) system denoting 10^9. Its symbol is G." Quoted from Wikipedia, GB = Gigabyte = 10^9 bytes.

        The fact that the IT tech industry refused to go by this standard first used in 1947 is our (their) own fault. They should have invented a new unit prefix and stuck to it.

        Other areas where they got it right: Gigabit networking, Gigahertz clock speeds. Why the fuck should they get a free pass for Gigabyte?!
        • The problem came from an area that they often do: Programmer laziness. Programmers of early computers called the 1024 byte blocks computers used "kilo" since it was "pretty close" to 1000. Since space and power were limited, it was considered unnecessary overhead to actually convert it to base 10 for display.

          Then as things went on it stuck, and the error kept getting bigger with increasing size.

          Frankly I think OSes need to get with it and just start using base 10 prefixes for drive space. I mean we already

    • by jez9999 ( 618189 )

      Yep. I have a 465.66 gibibyte hard drive.

  • by mrpacmanjel ( 38218 ) on Monday February 11, 2013 @07:06AM (#42857137)

    True, the discrepancy is old news but as capacity increases the difference is becoming more noticeable.

    It would be so much better if "they" were persuaded to return to using the correct measurement.

  • Not this again. (Score:5, Insightful)

    by serviscope_minor ( 664417 ) on Monday February 11, 2013 @07:09AM (#42857165) Journal

    There is no big grand conspiracy of evil marketing people versus the grand world of computer people.

    1G = 10^9 in every area.

    1Gbit/s = 1e9 bits per second (noone complains)
    1GHz = 1e9 cycles per second (noone complains)
    1GT/s = 1e9 transfers per second (noone complaines)
    1GB = 1e9 bytes (oh the horror! the evil marketing oh woe woe woe)

    The only reason it that 1GB = 1GiB every caught on is because RAM really relies on a power of 2 address bus, so it's always very closely tied into powers of 2 and it's convenient to round that to its nearest decimal equivalent in order to talk about it succinctly.

    There was never any reason to do it for anything else, and hard disk manufacturers pretty much never used GiB when they meant GB.

    And even the venerable 3.5" floppy was an unholy mixture of KB and KiB multiplied together.

  • by Anonymous Coward on Monday February 11, 2013 @07:19AM (#42857219)

    What's all that confusion. XKCD had that sorted long time ago:

    Please pay attention!

  • by Anonymous Coward on Monday February 11, 2013 @07:20AM (#42857235)

    The fault lies 100% at the feet of the, typically, totally technically incompetent marketers.

    Hard drives used, in the long ago good old days, to be measured in base 2 sizes. Back in the days of 20 Meg and 40 Meg and 80 Meg, they were measured using base 2 and so buying an 80 Meg HD, you got 80 "computer" Megs. This was also back in the days of 10+ different HD makers (lots of competition).

    Then at some point an idiot marketer was looking for any edge to make his/her companies product look different than the competition. And they discovered that if instead of dividing the count of bytes by 1024*1024 they instead divided by 1000*1000, the result was a larger number. I.e., a 200 Meg hard drive could now be advertised as 209 Meg. Since 209 was larger than 200, they felt this gave them a "one-up" on the other guys. And once the first idiot marketer did this, the rest of the idiot marketers soon followed suit, because they could not have their own products looking "smaller" on the shelf, and the result is that now HD's are the only computer component that is advertised in base 10 sizes.

    The idiot marketers are also why when you go to buy a hard disk that is only about 15 cubic inches for the disk itself you find the box to be about 5 cubic feet on the store shelf. Not all of that 5 cubic feet is for "padding". 99% of it is to make the box look larger on the shelf.

    • Mod this dude up.

      This is exactly how all this nonsense started (I should know I'm an old fart and remember all this happening)

      • This is exactly how all this nonsense started

        No, the nonsense started because someone thought it was a good idea to buch the meanings used in the rest of the world and use kilo==1024, not kilo==1000.

    • by Twinbee ( 767046 ) on Monday February 11, 2013 @08:06AM (#42857463) Homepage
      Well count me then as one of those idiot marketers, because if I was in their position, I would have been proud to do the same, not for the money, but because it simple BETTER to be consistent with the rest of the scientific world. We're behind by saying 1KB = 1024 bytes, not them.

      I made sure my own calc determines "1kb as bytes" = 1000 bytes, and that's how it should be.
    • by StoneyMahoney ( 1488261 ) on Monday February 11, 2013 @08:17AM (#42857537)

      I call tentatively BS on this explanation: []

      While far from definitive, this would seem to suggest that the first reference equivocating 1k with 1024 with an article in 1964 by Gene Amdahl, followed by a similar assumption of equivalence in a 1965 article by MV Wilkes. I think it's safe to say these references pre-date those hard drives you mention.

      This would suggest that computer science did originally adopt the standard definitions of kilo etc. but then started to deviate from them in the mid-60's for the sake of ease.

  • Back in about 1994 I was at a Microsoft conference and they were giving away free copies of Windows NT to anyone who could answer how much NT could address (the address bus was 32 bits at the time). I answered correctly with the answer 2^32 bytes and got my free copy of NT (still in a box somewhere in storage). So at least at that conference I was at MS recognised that the correct quantity was 2^32. So, something seems to be wrong with this article.

  • RAM: if they make a bigger module, they usually just double the number of chips on the module -> 2^x. Another reason here is, that you have a nice address, which ends with all zeros (or fills the complete addressfield), when your maximum address is a power of two.
    Harddrives: they are produced independend from such considerations, you have like 100 GB, 500GB, 3 TB ... all of them do not fit in a nice 2^x scheme anyway. Thats the reason, they are produced in GB and not in GiB units.

  • by hattig ( 47930 ) on Monday February 11, 2013 @08:03AM (#42857453) Journal

    So what that back in the day the computer scientists hijacked kilo/mega/giga because 2^10/2^20/2^30 was close enough to 10^3/10^6/10^9?

    Sure, there's a standard now, the unpopular KiB/MiB/GiB, but no-one uses it.

    Regardless, the number that should be reported when describing capacity should be the base 2 number when talking about RAM - as RAM is by its nature a base 2 capacity mechanism. The capacity can be described exactly this way.

    But for hard drives, where the storage is in effect linear across multiple cylinders, heads, etc, is base 2 what should be used - ignoring historical usage? Well, block sizes are in powers of two... but we don't have a power of two number of blocks. We therefore don't have a capacity number that can be described totally accurately using the base 2 numbering system.

    And SSDs? Due to bad blocks, and reserved storage area, we are turning something that was a base 2 capacity memory system into something with less capacity.

    And what about the files themselves? They're not powers of two in size, and indeed they waste capacity at the end of the file because the basic unit of storage in a drive is the formatted block size (512 bytes, 4KB, etc). Maybe block based systems should be advertised as offering "2 Billion Formatted Blocks* (* 512 byte blocks)"! In addition that file is likely compressed in some way that you can't consider that it will use the same space in memory when loaded.

    A strong argument is that because computer RAM is xGB, meaning x * 2^9 bytes, then we should use the same unit for other things in a computer that are expressed in GB, because in the end it is clearer to the user who can compare the two things, e.g., "the computer has 500 times more HD than RAM".

  • This is what pisses me off about using, say, Ubuntu and Windows 7 on the same computer. Several years ago Ubuntu (and hence derivatives like Linux Mint) changed their units policy such that 1 KB = 1000 bytes, not 1024 bytes as Windows still does. Hence files sizes will appear differently between the two systems, which is terrifying if you're manipulating data between such operating systems.

  • You were lucky, we were told that 655360 was enough!
  • Mac OS loses 4GB in formatting a filesystem? Wow.

  • by Skapare ( 16644 ) on Monday February 11, 2013 @09:01AM (#42857789) Homepage

    The basic issue is Marketing Speak. Those people don't understand how to use the Geek Speak values of 1024, 1048576, and 1073741824. They are going to use 1000, 1000000, and 1000000000. Just understand that and live with it. I do. As long as the sectors come across as sizes 512 and 4096 (instead of 500 and 4000), the device can work. I remember working with mainframes and having sector sizes of 800 on some drives.

    I don't use this KiB, MiB, and GiB crap in my software. The standards group that made that doesn't have oversight on software. It was intended for hardware and marketing, which hardly ever uses it. I have code for doing number conversion with metric-LIKE suffixes, but that specifically needs a single letter, so that's just gonna be the way it is. Use it where the binary-ish values apply and don't use it where you need powers of ten.

    It's all about knowing which way to interpret the numbers. For disk drives I know they are talking about k=1000, M=1000000, and G=1000000000.

  • by Siberwulf ( 921893 ) on Monday February 11, 2013 @09:12AM (#42857843)
    I saw this one pop up in my RSS feed and thought maybe /. was broken. Then I went through the comments and realized it wasn't a repost of something old, nor was it really anything new. It was something in between.

    I don't know when /. devolved into what it is today, as I've been reading for years now. It's always had a bit of an anti-MS twist to it, and while I didn't always agree with the article bias, I could see how it could be used as constructive criticism for not just MS, but for other companies as well. When you're the 800-lb gorilla, people notice you. When you're the 800-lb gorilla and you tie your shoes together and fall, other people tend to not tie their shoes together.

    This post doesn't really fall into a constructive criticism category, though. It's pure, unadulterated, trolling. I mean the source is a joke. It has to be. The "author" of that blog clearly understands computers. Ed's written over 30 books on software use. He's just griping about something everyone already understands. A slow news day. It happens.

    By why, oh why, do the editors here feel the need to pick it up and make it front-page news along with news of Ozone holes, Corn shortages and Social Engineering your way into the Super Bowl? Those are nerdy news stories. This... is not. If you wanted to fill up the front page with stories like this, you should be including the following gems:

    - Windows 8 installation DVDs; easily scratched by nails?
    - Magnets prove harmful to MS Office installations
    - Microsoft Surface Pro sells better than expected; maybe it isn't so bad? (just kidding)

    I don't expect this post to actually get anything done, but I'm making it just the same. Something has to change around here. While I know I'm just a drop in the bucket (just like I am with AT&T, Verizon, Comcast and T-Mobile...who I loathe), I'm out. My Excellent Karma, ad-viewing eyes, and borderline nostalgic insightfulness are out. I don't intend on letting the door hit me on the way out, either.
  • by prefec2 ( 875483 ) on Monday February 11, 2013 @09:52AM (#42858151)

    k, M, G, etc. are defined SI shorthands for 10, 10^6, 10^9. They have been defined that way long (as in computer age) before computers had (that many) bits. However, when the information age broke out, computer technicians also required the shorten numbers. They decided to synchronize their system with 2^10, 2^20 etc. because it is close to the SI figures (at least for kilo and mega). That was good enough. And it was so much easier to shift values by 10 bits. However, it was in violation of the real SI meaning. To solve that issue, a new terminology was proposed where k, M,G,T meant 10, 10^6, 10^9, 10^12 and ki, Mi, Gi, Pi are 2^10, 2^20, 2^30, 2^40. The idea was to fix software in short time, people should use these *i prefixes until they are able to count and divide their number according th SI units.

    Whoever uses G but means Gi should fix their software.

Karl's version of Parkinson's Law: Work expands to exceed the time alloted it.