Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Here I have this file in Windows:

enter image description here

But isn't 62,563 bytes 62.6 KB?

enter image description here

share|improve this question
24  
See XKCD #394 –  Nick T Jul 22 at 21:07
6  
11  
Mac uses decimal kilobytes (the IEC standard), while Windows still uses binary kilobytes (since renamed to kibibytes), Linux usually refers to KiB (the renamed binary kilobytes). Personally, I think this is all kinds of mucked up. One doesn't buy a stick of RAM with 1,000,000,000 bytes in it, but instead buys a stick of RAM with 1,073,741,824 bytes. But when you buy a hard drive, you buy it with 500,000,000,000 bytes available on it, even though sectors are allocated in multiples of 512 bytes. I liked my kilobytes when they were binary... –  phyrfox Jul 23 at 3:48
1  
@phyrfox: 1 MHz of CPU is 1 million cycles, not 1,073,741,824 cycles. 1 Mbps of network traffic is also 1 million bits. –  Zan Lynx Jul 24 at 9:55
3  
@ZanLynx Mega is not 1 million, it's adapted "great" from Greek. Also, as they are, SI prefixes only make sense with physical units. But bytes and bits aren't physical units. Moreover, as SI prefixes are standardized, there's also a standard for memory sizes, which defines meaning of kilo, mega and giga as 1024, 1048576 and 1073741824 respectively. –  Ruslan Jul 24 at 20:07

4 Answers 4

up vote 52 down vote accepted

62,563 bytes are 61.0966797 kibibytes. The kibi prefix means that the base for calculation is 1024, bi standing for "binary" because 2^10 = 1024. It's only one of the binary prefixes, others being mebi or gibi.

A kilobyte on the other hand is 1000 bytes, using the classic SI prefixes that you know from kilometers and kilograms. It's using the decimal base, 10^3 = 1000, so Google is actually right. If you had googled for the same amount in kibibytes, you'd have gotten the right answer in computing terminology.

It's really important to make the distinction between kilo and kibi these days, and actually, Windows should report it as "61 KiB" to be absolutely precise. This is the IEC convention for making the distinction easier.

That being said, there's still a lot of ambiguity these days, where hard drive sizes are typically reported in binary units (but not always explicitly), and connection speeds are given in SI units.

share|improve this answer
    
Well, kibibytes was accepted as of 1998 and I'm pretty sure that I remember this issue existing long before that. Good answer though. –  EBGreen Jul 22 at 20:39
1  
@O.R.Mapper Yes, and T would be mistaken for Tesla. Because obviously, programmer's manuals often discuss underlying physics. –  Joker_vD Jul 23 at 6:43
1  
Who outside of a niche of the computer world knows what a 'kibibyte' is? By the way, it was only recently that Google was 'right'. It's still a very alive debate on whether a kilobyte is 1000 or 1024 bytes. –  justcool393 Jul 23 at 6:48
8  
Am I the only one who's a little upset that this gets truncated to 61.0, rather than rounded to 61.1? –  Christofer Olsson Jul 23 at 7:05
1  
Darn Kibibytes man. Bytes were our best chance to have a standard unit of measure that everyone could agree on, that would purely logical in it's definition, since it only originated in the past few decades, and we still managed to screw it up. –  DLeh Jul 24 at 19:47

Yeah, think of google as the Mad Hatter. You have to ask the right question. Or perhaps an Elf: Sometimes your answer will be both yes and no.

byte to KiB. The computer's kilobyte; or the kibibyte.

share|improve this answer

1KB = 1024 bytes. Thus:

62563 / 1024 = 61.097KB

As a shortcut many people and systems treat a KB as 1000 since Kilo is the SI prefix for 1000. Computer scientists however use the prefix for 2^10 which is 1024.

share|improve this answer

Most computer-related numbers use binary prefixes, in contrast to SI system which uses decimal prefixes. It means that:

  • 1 kilogram = 103 grams, but
  • 1 kilobyte = 210 bytes

That's respectively 1000 grams and 1024 bytes. 62563 / 1024 ~= 61, so Windows is right.

Not everything computer-related is based on binary prefixes, though, and this inconsistency often leads to misunderstandings. This Wikipedia page describes what prefixes are used for measuring different things.

One extreme case is bandwidth. It's typically using binary prefixes when expressed in bytes per second and decimal prefixes when expressed in bits per second. So this sentence is true:

1 byte per second = 8 bits per second

But this one is false:

1 kilobyte per second = 8 kilobits per second

Because:

  • 1 KB/s = 1024 B/s
  • 1 Kbps = 1000 bps

(related question)

share|improve this answer
1  
Mistake: 2^8 = 256 ---> I suppose that should be 2^10 ;-) –  Hannu Jul 22 at 21:00
    
The WP talk page is much more interesting than the actual article (a very giant debate on whether a KB is 1024 or 1000 bytes). –  justcool393 Jul 23 at 6:47
    
Bandwidth is properly expressed in Hz, where the SI prefixes use powers-of-10. The reason throughput (transfer rate of data, equivalently bandwidth multiplied by encoding efficiency) is ambiguous is because the first definition leads to (KB)/s, where KB uses the binary-based prefix, and the second is based on kHz or kbaud, using the decimal-based prefix. –  Ben Voigt Jul 24 at 17:32

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.