loopychew: (Default)
[personal profile] loopychew
Other techheads, feel free to correct me on this.

On New Year's Eve, [livejournal.com profile] leiju came back to town (yay!) and we spent the evening at a dinner hosted by Jamie H. (doubling as his farewell party; he leaves for NJ on the 25th). One of the topics of conversation, also fresh in my mind from helping Astrid install a second HD into her computer, was that of why a hard disk never seems to be as large in the computer as it says it is on the box copy.

The answer is simple: normally, on box copy or advertising in general, there's a little footnote somewhere denoting "1 gigabyte = 1 billion bytes."

Computers? Don't think that way.

Don't forget, computers tend to think binary, so it's easier for them to compute volume in powers of 2. Thus, a kilobyte is actually 210, or 1024 bytes. (There was a moment during the initial explanation where, since my cell phone's calculator wouldn't do repeats or exponents, I ended up doodling on the paper table cover to attempt to determine the different powers of 10. But I digress.) A megabyte would be 220, or 1,048,576, bytes, and thusly, a gigabyte would be 230, or 1,073,741,824, bytes.

Again, correct me if I'm wrong, but that's about 7% difference (1,000,000,000/1,073,741,824 = ~0.93) between a computer's and the box copy's perception of what a gigabyte is.

Because I think [livejournal.com profile] leiju wants me to replicate the powers of 2, I'll put it under a cut. Here we go:
  1. 1
  2. 2
  3. 4
  4. 8
  5. 16
  6. 32
  7. 64
  8. 128
  9. 256
  10. 512
  11. 1024
  12. 2048
  13. 4096
  14. 8192
  15. 16384
  16. 32768
  17. 65536
  18. 131072
  19. 262144
  20. 524288
  21. 1048576
  22. 2097152
  23. 4194304
  24. 8388608
  25. 16777216
  26. 33554432
  27. 67108864
  28. 134217728
  29. 268435456
  30. 536870912
  31. 1073741824


So, in a nutshell, that's why, whenever you pop in that brand new 80GB hard disk of yours, it says that that it has a capacity of 74.5GB in it.

This has been another...entry.

Date: 2007-01-05 02:35 am (UTC)
From: [identity profile] frode-sky.livejournal.com
Any computer geek infant knows this ;).

Date: 2007-01-05 10:37 am (UTC)
From: [identity profile] loopychew.livejournal.com
Well, yeah, but not all people are computer geeks, infant or otherwise. :-P

Date: 2007-01-05 02:36 am (UTC)
From: [identity profile] lurkerdrome.livejournal.com
Also factor in "non-user" sectors, bad or missing sectors (even on brand new drives this happens)...

Date: 2007-01-05 04:03 pm (UTC)
From: [identity profile] sevaa.livejournal.com
Indeedy so. It's all a conspiracy by the HD makers. Also, the file system adds some overhead - the amount of free space on an empty formatted partition is always less than the physical drive capacity.

Date: 2007-01-06 12:20 am (UTC)
From: [identity profile] quen-elf.livejournal.com
Hmmmm... it's right, basically, but I'm trying to pick holes. :)

It's not really 'easier to compute volume'; computers can divide a number by 1000 or 1000000 or 1000000000 very easily. I think it's more to do with memory addressing which is indeed done in binary through physical on/off electrical connections. So if you have a memory chip with 16 pins to select the chunk of data it's reading or writing, then that can hold a maximum of 65,536 (64K) chunks (bytes, say).

There is no such relationship affecting size of hard disks (they aren't divided into two, then four, then eight etc; there's N physical discs inside where N could basically be any number, like 5 say, and the other divisions of space on each disc aren't particularly binary either).

But when you're dealing with memory that comes in binary-sized chunks, it's easier to use the same multiples for data storage such as hard disks as well. For a contrived example, supposing your system reads 16 bytes at once for some reason, it isn't possible to read 1000 bytes because 1000 isn't divisible by 16, so it's more convenient if your hard disk is divided into 1024-byte sectors than 1000-byte ones.

Obviously there's a lot of history in this but basically it was a mistake to originally use the SI units ('kilo'=1000) as a shorthand to mean 1024. A kilobyte is always 1024 bytes, but hard disk manufacturers have the opportunity to lie because they can say they're using the real SI unit.

360KB and 720KB floppy discs really were that size. 1.44 floppies weren't.

There's an IEC (but not SI) unit for the binary multiples; KiB, MiB etc. Not many people use this.

Profile

loopychew: (Default)
loopychew

December 2017

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627 282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 10th, 2025 04:38 pm
Powered by Dreamwidth Studios