KiB, Kib, KB, Kb / Habr
Вот в этом посте товарищ призывает следовать стандартам. Не всё так с ними просто, со стандартами. Я хочу показать насколько сложна ситуация с обозначениями единиц измерения информации. Не буду объяснять важность темы — кому интересно, прошу под кат.История вопроса
Ярким примером путаницы с приставками является «мегабайт» производителей CD, DVD и дискет. Он равен 1024х1000 байт. Дискета на «1,44 Мб» на самом деле имеет ёмкость в 1,44х1024х1000 байт = 1440 Кб или 1,38 Мб (где 1 Мб = 1024х1024 байт). А ёмкость одностороннего однослойного DVD вместо 4,7 «ГБ» составляет 4,37 ГБ = 4,37х1024х1024х1024 байт.
В 1998 году Международное бюро мер и весов заявило, что приставки СИ относятся только к степеням десяти и не должны использоваться для обозначения степеней двойки.
В 1999 году МЭК ввела стандарт IEC 60027-2 с новыми приставками для обозначения количества информации. В 2008 году вышел аналогичный стандарт IEEE 1541 (различие только в том, что IEC предлагает писать «bit» полностью вместо «b» у IEEE). Использование этих приставок одобрено Международным комитетом мер и весов. Для обозначения степеней двойки в ближайшей приставке СИ второй слог заменяется на «bi» от binary (двоичный): kibibyte — KiB, mebibyte — MiB, gibibyte — GiB.
ГОСТ 8.417-2002, приложение А: «В соответствии с международным стандартом МЭК 60027-2 единицы «бит» и «байт» применяют с приставками СИ» (заглавные буквы К, М, Г,… обозначающие степени 10).
Также в стандарте сказано: «Исторически сложилась такая ситуация, что с наименованием «байт» некорректно (вместо 1000 = 103 принято 1024 = 210) использовали (и используют) приставки СИ: 1Кбайт = 1024 байт, 1Мбайт = 1024 Кбайт, 1Гбайт = 1024 Мбайт и т.д. При этом обозначение Кбайт начинают с прописной буквы в отличие от строчной буквы «к» для обозначения множителя 103.»
31 октября 2009 года Правительство РФ утвердило «Положение о единицах величин, допускаемых к применению в Российской Федерации», которое гласит:
Т.е. для байт приставки СИ теперь обозначают степени двойки, а для бит всё остаётся по ГОСТ — приставки СИ обозначают степени 10.
Сводная таблица приставок
IEEE 1541/IEC 60027-2 |
ГОСТ 8.417-2002, «Положение…» |
||||
kibibyte |
KiB |
1024 byte |
килобайт |
КБ |
1024 байт |
mebibyte |
MiB |
1024 KiB |
мегабайт |
МБ |
1024 КБ |
gibibyte | GiB |
1024 MiB |
гигабайт |
ГБ |
1024 МБ |
tebibyte |
TiB |
1024 GiB |
терабайт |
ТБ |
1024 ГБ |
kibibit, kibit |
Kib |
1024 bit | Для этих величин в РФ утверждённых обозначений нет |
||
mebibit, mibit |
Mib |
1024 Kib |
|||
gibibit, gibit |
Gib |
1024 Mib |
|||
tebibit, tibit | Tib |
1024 Gib |
|||
kilobyte |
KB |
1000 byte |
|||
megabyte |
MB |
1000 KB |
|||
gigabyte |
GB |
1000 MB |
|||
terabyte |
TB |
1000 GB |
|||
kilobit |
Kb |
1000 bit |
килобит |
Кб |
1000 бит |
megabit |
Mb |
1000 Kb |
мегабит |
Мб |
1000 Кб |
gigabit |
Gb |
1000 Mb |
гигабит |
Гб |
1000 Мб |
terabit |
Tb |
1000 Gb |
терабит |
Тб |
1000 Гб |
Мы видим, что Постановление Правительства от 2009 г. ввело обозначения для KiB, MiB, GiB,… лишив обозначения KB, MB, GB. Эта перестановка не решает главной проблемы: в России в 2 раза меньше утверждённых обозначений приставок для единиц количества информации, чем в международном стандарте МЭК 60027-2. Принятые обозначения не покрывают всех возможных вариантов. К тому же похожие по написанию и произношению (мегабайт) приставки обозначают разные множители!!!
Неофициальная практика, упомянутая в ГОСТ, покрывает все варианты: Б — байт, б — бит, 1 КБ = 1024 байт, 1кБ = 1000 байт.
Что делать?
Есть разные варианты. Например, скопировать международный стандарт. Или ввести ещё 2 группы приставок. Или узаконить неофициальную практику (см. выше). Лично я склоняюсь к первому варианту — не хотелось бы, чтобы наша страна (когда-то весьма прогрессивная в этом отношении) вступила в ряды любителей местных традиций в виде ярдов/унций/галлонов (путаница при совмещении которых с системой СИ уже была причиной серьёзных аварий).
Спасибо malan за указанные ошибки
1 Полубайт = | 10 Полубайт = 0.0049 Килобайт | 2500 Полубайт = 1.2207 Килобайт |
2 Полубайт = 0.000977 Килобайт | 20 Полубайт = 0.0098 Килобайт | 5000 Полубайт = 2.4414 Килобайт |
3 Полубайт = 0.0015 Килобайт | 30 Полубайт = 0.0146 Килобайт | 10000 Полубайт = 4.8828 Килобайт |
4 Полубайт = 0.002 Килобайт | 40 Полубайт = 0.0195 Килобайт | 25000 Полубайт = 12.207 Килобайт |
5 Полубайт = 0.0024 Килобайт | 50 Полубайт = 0.0244 Килобайт | 50000 Полубайт = 24.4141 Килобайт |
6 Полубайт = 0.0029 Килобайт | 100 Полубайт = 0.0488 Килобайт | 100000 Полубайт = 48.8281 |
7 Полубайт = 0.0034 Килобайт | 250 Полубайт = 0.1221 Килобайт | 250000 Полубайт = 122.07 Килобайт |
8 Полубайт = 0.0039 Килобайт | 500 Полубайт = 0.2441 Килобайт | 500000 Полубайт = 244.14 Килобайт |
9 Полубайт = 0.0044 Килобайт | 1000 Полубайт = 0.4883 Килобайт | 1000000 Полубайт = 488.28 |
1 Килобайт = 2048 Полубайт | 10 Килобайт = 20480 Полубайт | 2500 Килобайт = 5120000 Полубайт |
2 Килобайт = 4096 Полубайт | 20 Килобайт = 40960 Полубайт | 5000 Килобайт = 10240000 Полубайт |
3 Килобайт = 6144 Полубайт | 30 Килобайт = 61440 Полубайт | 10000 Килобайт = |
4 Килобайт = 8192 Полубайт | 40 Килобайт = 81920 Полубайт | 25000 Килобайт = 51200000 Полубайт |
5 Килобайт = 10240 Полубайт | 50 Килобайт = 102400 Полубайт | 50000 Килобайт = 102400000 Полубайт |
6 Килобайт = 12288 Полубайт | 100 Килобайт = 204800 Полубайт | 100000 |
7 Килобайт = 14336 Полубайт | 250 Килобайт = 512000 Полубайт | 250000 Килобайт = 512000000 Полубайт |
8 Килобайт = 16384 Полубайт | 500 Килобайт = 1024000 Полубайт | 500000 Килобайт = 1024000000 Полубайт |
9 Килобайт = 18432 Полубайт | 1000 Килобайт = 2048000 Полубайт | 1000000 Килобайт = 2048000000 Полубайт |
1 Килобит = 1.192×10-7 Гигабайт | 10 Килобит = 1.1921×10-6 Гигабайт | 2500 Килобит = 0.000298 Гигабайт |
2 Килобит = 2.384×10-7 Гигабайт | 20 Килобит = 2.3842×10-6 Гигабайт | 5000 Килобит = 0.000596 Гигабайт |
3 Килобит = 3.576×10-7 Гигабайт | 30 Килобит = 3.5763×10-6 Гигабайт | 10000 Килобит = 0.0012 Гигабайт |
4 Килобит = 4.768×10-7 Гигабайт | 40 Килобит = 4.7684×10-6 Гигабайт | 25000 Килобит = 0.003 Гигабайт |
5 Килобит = 5.96×10-7 Гигабайт | 50 Килобит = 5.9605×10-6 Гигабайт | 50000 Килобит = 0.006 Гигабайт |
6 Килобит = 7.153×10-7 Гигабайт | 100 Килобит = 1.2×10-5 Гигабайт | 100000 Килобит = 0.0119 Гигабайт |
7 Килобит = 8.345×10-7 Гигабайт | 250 Килобит = 3.0×10-5 Гигабайт | 250000 Килобит = 0.0298 Гигабайт |
8 Килобит = 9.537×10-7 Гигабайт | 500 Килобит = 6.0×10-5 Гигабайт | 500000 Килобит = 0.0596 Гигабайт |
9 Килобит = 1.0729×10-6 Гигабайт | 1000 Килобит = 0.000119 Гигабайт | 1000000 Килобит = 0.1192 Гигабайт |
1 Килобит = 0.000977 Мегабит | 10 Килобит = 0.0098 Мегабит | 2500 Килобит = 2.4414 Мегабит |
2 Килобит = 0.002 Мегабит | 20 Килобит = 0.0195 Мегабит | 5000 Килобит = 4.8828 Мегабит |
3 Килобит = 0.0029 Мегабит | 30 Килобит = 0.0293 Мегабит | 10000 Килобит = 9.7656 Мегабит |
4 Килобит = 0.0039 Мегабит | 40 Килобит = 0.0391 Мегабит | 25000 Килобит = 24.4141 Мегабит |
5 Килобит = 0.0049 Мегабит | 50 Килобит = 0.0488 Мегабит | 50000 Килобит = 48.8281 Мегабит |
6 Килобит = 0.0059 Мегабит | 100 Килобит = 0.0977 Мегабит | 100000 Килобит = 97.6563 Мегабит |
7 Килобит = 0.0068 Мегабит | 250 Килобит = 0.2441 Мегабит | 250000 Килобит = 244.14 Мегабит |
8 Килобит = 0.0078 Мегабит | 500 Килобит = 0.4883 Мегабит | 500000 Килобит = 488.28 Мегабит |
9 Килобит = 0.0088 Мегабит | 1000 Килобит = 0.9766 Мегабит | 1000000 Килобит = 976.56 Мегабит |