Which conversion should I teach to my undergrad students? That 1 kB is 1024 bytes (binary) as everyone learned back in the nineties or the recent industry-led "friendly" conversion that says that 1 kB is in fact 1000 bytes (decimal)?

My immediate feeling goes toward the binary conversion, but when IEC says otherwise and major OSs decide for the decimal conversion (Mac OS X ≥ 10.6 and Ubuntu ≥ 10.10 now use the SI prefixes exclusively to refer to powers of 1000) I"m not so sure anymore.


*

*

You should teach both, and you probably want to use the binary unit. When you are talking about the difference, it may be helpful to tell them about how to tell the difference when reading them:

The SI kilo- is k:$1 extkB (kilobyte) = 10^3 extbytes = 1000 extbytes$

While the binary kibi- is Ki:$1 extKiB (kibibyte) = 2^10 extbytes = 1024 extbytes$

I notice that you used KB in your question to refer to both sizes; perhaps you should also point out that KB could be interpreted as either of these prefixes (though Wikipedia suggests it is most often used in place of KiB). In your position, I would suggest clarifying which one you mean if you use this notation.

You are watching: Is a kilobyte 1000 or 1024

(While you"re going over confusing units, a related difference in writing units is that lowercase b is bits, uppercase B is bytes; an eightfold difference is much more significant than 2.4%.)


Share
Improve this answer
Folshort
edited Mar 11 "18 at 16:16
*

thesecretmaster♦
4,63933 gold badges1717 silver badges4848 bronze badges
answered Mar 9 "18 at 19:30
*

Mike PMike P
1,66611 gold badge55 silver badges44 bronze badges
$endgroup$
35
| Show 30 more comments
62
$egingroup$
You should teach them it"s messed up beyond repair, and it"s their generation"s job to teach the next generation to use the silly-sounding standard prefixes, so that when they finally retire (and the current old-timers are more permanently removed from the argument), there can finally be a consensus.

As the matters currently stand, all the prefixes are unknowable without context. A networking megabit is $10^6$ bits, a filesystem megabyte is $2^20$ bytes, a hard drive megabyte is somewhere pretty close to $10^6$ bytes, and a megapixel is "probably a million pixels, who cares."


Share
Improve this answer
Follow
answered Mar 9 "18 at 20:08
*

BassBass
72144 silver badges33 bronze badges
$endgroup$
4
Add a comment |
51
$egingroup$
Actually, you need to teach them both so that they are warned that the usage is not consistent. Then you can choose one as a standard in your course going forward.

Which you choose depends a bit on what you are teaching. If it is how to evaluate hard drives, etc. then $K = 1000$ works now. For most programming, however, $K = 2^10 = 1024$ is probably best.

Sadly, the dual meanings is likely due to manufacturers trying to avoid confusion in the minds of unsophisticated customers.


Share
Improve this answer
Folshort
edited Mar 10 "18 at 10:16
ctrl-alt-delor
9,67333 gold badges2020 silver badges5252 bronze badges
answered Mar 9 "18 at 15:30
BuffyBuffy
32.5k99 gold badges5454 silver badges103103 bronze badges
$endgroup$
20
| Show 15 more comments
21
$egingroup$
The difference between providing your students with a proper discussion of this topic, and simply teaching them one or the other, is the difference between being a real educator and being a reciter of factoids.

If there is no single correct definition of KB for you, then why would you instill something different in your students? The answer to your question is thus obvious in its formation. Your responsibility as a teacher is to convey an understanding of the issue, not to boil it down to one-or-another fact that you know to be less-than-true.


Share
Improve this answer
Follow
answered Mar 9 "18 at 23:54
ruiefruief
31911 silver badge22 bronze badges
$endgroup$
1
Add a comment |
17
$egingroup$
Yes I agree with other answers, teach both, and also note the similarity.

The difference$ extki = 1024 = 2^10$$ extk = 1000 = 10^3$$ extk, extM, extG, extT, extP$ is sometimes used to mean $ extki, extMi, extGi, extTi, extPi$The similarity$1 = extk^0$ and $1 = extki^0$$ extk = extk^1$ and $ extki = extki^1$$ extM = extk^2$ and $ extMi = extki^2$$ extG = extk^3$ and $ extGi = extki^3$$ extT = extk^4$ and $ extTi = extki^4$$ extP = extk^5$ and $ extPi = extki^5$$ extE = extk^6$ and $ extEi = extki^6$Quick maths

$64 ext bits = ( 6 imes 10 + 4 ) ext bits = extki^6 imes 2^4 = 16 ext Ei addresses$

This has some similarity and some difference with the base 10 system that they (should) know. First we break it into blocks of 10 (instead of 3), the remainder we just convert to base 10, the rest is the same.

Where used (mainly)

It is important to show where the 2 systems are used. While some answers say that they have never seen the $1000$ based SI system used in computing. It turns out that the SI system is used a lot, depending on what is being measured.

IEC 60027-2 A.2 and ISO/IEC 80000 e.g. $ extki$:measures of primary memory: RAM, RAM, cache.measure of file sizes, partition sizes, and disk sizes within OS.SI units e.g. $ extk$:measures of secondary memory devices: hard-disks, SSDs.network speeds.CPU / memory / bus speeds.all other speeds.

See more: How To Change Language On Lg Phone S, Language: Lg Stylo 4

However the use of symbol $ extki$ is at this time not always used.