1 байт 8 бит – Байт — Википедия

Содержание

Единицы измерения информации

Здравствуйте, сегодня в данной статье мы поговорим про единицы измерения информации, в чем измеряется информация и как переводить из одной единицы информации в другую.


Информацию принято мерить битами и байтами. Самое маленькое значение это 1 бит меньше нет, но однако при измерении информации на носителях обычно не берут единицу ниже байта.

Байт — это набор из 8 битов.

1 байт = 8 бит

Если информации становиться больше мы прибегаем к более крупным единицам килобайтам.

1 килобайт = 1024 байт

Если и килобайтов становиться больше, то мы уже будем иметь дело с мегабайтом.

1 мегабайт = 1024 килобайт

1 гигабайт = 1024 мегабайт

1 терабайт = 1024 гигабайт

1 петабайт = 1024 терабайт

1 эксабайт = 1024 петабайт

1 зеттабайт = 1024 эксабайт

1 йоттабайт = 1024 зеттабайт и так далее.

Единицы информации после терабайтов это гигантские числа и в действительности мы их еще не используем. В недалеком будущем конечно мы с ними столкнемся. Пока же современные носители информации не превышают нескольких терабайт.

Вы заметили, что переход от одной единицы к другой происходит не на десятках или тысячах круглых значениях что было бы удобно при расчетах, а на числе восемь и 1024. Эти числа появились не спроста. Дело в том, что при кодировании и хранении информации на компьютере используется не десятичная система счисления, а двоичная.

Значения получаются не степеней десяток (10 100 1000 и т. д.), а из степеней двойки (8 = 2^3, 1024 = 2^10)

. Подробно разбирать суть двоичной системы мы сейчас не будем это тема отдельной статьи. Поэтому примите числа 8 и 1024 как данность.

Теперь давайте поговорим как переводить единицы измерения из одной в другую и когда это может понадобиться.

Например, у вас такая задача. Вам известно, что ваш файл весит 700 000 килобайт, а флешка имеет объем 2 гигабайта. И вам нужно понять поместиться ваш файл на флешку или нет.

Просто сверить эти два значения не представляется возможным потому что они даны в разных единицах измерения килобайт и гигабайт. Нам нужно перевести одну из них в одинаковую единицу. Переведем килобайты в гигабайты.

Для этого введем такое правило.

Если вы переводите единицы измерения из меньшего в большую, то вы будете делить.

Если вы переводите из более крупной в меньшую, то вы умножаете.

В данном нашем случае мы переводим килобайты в гигабайты. Значит нам нужно подняться на 2 ступени по весу единицы измерения. Вес становиться больше поэтому мы делим дважды на значение 1024. Так как это значение связывает наши единицы измерения.

700 000 килобайт: 1024 = 683,6 мегабайт

Поделив один раз на 1024, мы попадем в мегабайты.

683,6 мегабайт: 1024 = 0,7 гигабайт

Мы перешли из мегабайтов в гигабайты. Теперь можем легко сравнивать 0,7 гигабайт <2 гигабайт. Наш файл поместиться на флешку.

Решим еще несколько примеров.

Переведем 85 мегабайт в байты.

Что бы перевести мегабайты в байты нужно определить направление нашего движения. Мы идем от более крупных к мелким или наоборот. Конечно видно, что мегабайты более крупные единицы. Значит мы в нашей табличке движемся вверх, будем умножать. Нам нужно сделать 2 действия пройти от мегабайта к килобайтам, а затем к байтам.

85 мегабайт * 1024 = 87 040 килобайт

87 040 килобайт * 1024 = 89 128 960 байт

0,5 петабайт в гигабайты.

0,5 петабайт * 1024 = 512 терабайт

512 терабайт * 1024 = 524 288 гигабайт

100 килобайт в байты

100 килобайт * 1024 = 102 400 байт

102 400 байт * 8 = 819 200 бит

342000 бит в мегабайты

342 000 бит / 8 = 42 750 байт

42 750 байт / 1024 = 41,7 килобайтов

41,7 килобайта / 1024 = 0,04 мегабайта

Итак, что вам нужно запомнить при переводе из одной единицы в другую. Если единица измерения повышается при переводе вам нужно делить. Если единица измерения уменьшается, то вам нужно умножать. применяется обратно пропорциональная связь.

На этом у меня все всего доброго.


murnik.ru

Разбираемся с прямым и обратным порядком байтов / Habr

Перевод статьи Халида Азада — Understanding Big and Little Endian Byte Order

Проблемы с порядком байтов очень расстраивают, и я хочу избавить Вас от горя, которое довелось испытать мне. Вот ключевые тезы:

  • Проблема: Компьютеры, как и люди, говорят на разных языках. Одни записывают данные “слева направо” другие “справа налево”. При этом каждое устройство отлично считывает собственные данные — проблемы начинаются, когда один компьютер сохраняет данные, а другой пытается эти данные считать.
  • Решение: Принять некий общий формат (например, весь сетевой трафик передается в едином формате). Или всегда добавлять заголовок, описывающий формат хранения данных. Если считанный заголовок имеет обратный порядок, значит данные сохранены в другом формате и должны быть переконвертированы.


Числа и данные

Наиболее важная концепция заключается в понимании разницы между числами и данными, которые эти числа представляют. Число — это абстрактное понятия, как исчислитель чего-то. У Вас есть десять пальцев. Понятие “десять” не меняется, в зависимости от использованного представления: десять, 10, diez (испанский), ju (японский), 1010 (бинарное представление), Х (римские числа)… Все эти представления указывают на понятие “десяти”.

Сравним это с данными. Данные — это физическое понятие, просто последовательность битов и байтов, хранящихся на компьютере. Данные не имеют неотъемлемого значения и должны быть интерпретированы тем, кто их считывает.

Данные — это как человеческое письмо, просто набор отметок на бумаге. Этим отметкам не присуще какое-либо значение. Если мы видим линию и круг (например, |O), то можно интерпретировать это как “десять”. Но это лишь предположение, что считанные символы представляют число. Это могут быть буквы “IO” — название спутника Юпитера. Или, возможно, имя греческой богини. Или аббревиатура для ввода/вывода. Или чьи-то инициалы. Или число 2 в бинарном представлении (“10”). Этот список предположений можно продолжить. Дело в том, что один фрагмент данных (|O) может быть интерпретировано по разному, и смысл остается не ясен, пока кто-то не уточнит намерения автора.

Компьютеры сталкиваются с такой же проблемой. Они хранят данные, а не абстрактные понятия, используя при этом 1 и 0. Позднее они считывают эти 1 и 0 и пытаются воссоздать абстрактные понятия из набора данных. В зависимости от сделанных допущений, эти 1 и 0 могут иметь абсолютно разное значение.

Почему так происходит? Ну, вообще-то нет такого правила, что компьютеры должны использовать один и тот же язык, так же, как нет такого правила и для людей. Каждый компьютер одного типа имеет внутреннюю совместимость (он может считывать свои собственные данные), но нет никакой гарантии, как именно интерпретирует эти данные компьютер другого типа.

Основные концепции:

  • Данные (биты и байты или отметки на бумаге) сами по себе не имеют смысла. Они должны быть интерпретированы в какое-то абстрактное понятие, например, число.
  • Как и люди, компьютеры имеют различные способы хранения одного и того же абстрактного понятия (например, мы можем различными способами сказать “10”).

Храним числа как данные

К счастью, большинство компьютеров хранят данные всего в нескольких форматах (хотя так было не всегда). Это дает нам общую отправную точку, что делает жизнь немного проще:
  • Бит имеет два состояния (включен или выключен, 1 или 0).
  • Байт — это последовательность из 8 бит. Крайний левый бит в байте является старшим. То есть двоичная последовательность 00001001 является десятичным числом девять. 00001001 = (2^3 + 2^0 = 8 + 1 = 9).
  • Биты нумеруются справа налево. Бит 0 является крайним правым и он наименьший. Бит 7 является крайним левым и он наибольший.

Мы можем использовать эти соглашения в качестве строительного блока для обмена данными. Если мы сохраняем и читаем данные по одному байту за раз, то этот подход будет работать на любом компьютере. Концепция байта одинаковая на всех машинах, понятие “байт 0” одинакова на всех машинах. Компьютеры также отлично понимают порядок, в котором Вы посылаете им байты — они понимают какой байт был прислан первым, вторым, третьим и т. д. “Байт 35” будет одним и тем же на всех машинах.

Так в чем же проблема — компьютеры отлично ладят с одиночными байтами, правда? Ну, все превосходно для однобайтных данных, таких как ASCII-символы. Однако, много данных используют для хранения несколько байтов, например, целые числа или числа с плавающей точкой. И нет никакого соглашения о том, в каком порядке должны хранится эти последовательности.

Пример с байтом

Рассмотрим последовательность из 4 байт. Назовем их W X Y и Z. Я избегаю наименований A B C D, потому что это шестнадцатеричные числа, что может немного запутывать. Итак, каждый байт имеет значение и состоит из 8 бит.
Имя байта            W         X          Y          Z
Позиция              0         1          2          3
Значение (hex)      0x12      0x34       0x56       0x78

Например, W — это один байт со значением 0х12 в шестнадцатеричном виде или 00010010 в бинарном. Если W будет интерпретироваться как число, то это будет “18” в десятеричной системе (между прочим, ничто не указывает на то, что мы должны интерпретировать этот байт как число — это может быть ASCII-символ или что-то совсем иное). Вы все еще со мной? Мы имеем 4 байта, W X Y и Z, каждый с различным значением.
Понимаем указатели

Указатели являются ключевой частью программирования, особенно в языке С. Указатель представляет собой число, являющееся адресом в памяти. И это зависит только от нас (программистов), как интерпретировать данные по этому адресу.

В языке С, когда вы кастите (приводите) указатель к конкретному типу (такому как char * или int *), это говорит компьютеру, как именно интерпретировать данные по этому адресу. Например, давайте объявим:

void *p = 0;   // p указатель на неизвестный тип данных
	           // p нулевой указатель - не разыменовывать
char *c;       // c указатель на один байт

Обратите внимание, что мы не можем получить из р данные, потому что мы не знаем их тип. р может указывать на цифру, букву, начало строки, Ваш гороскоп или изображение — мы просто не знаем, сколько байт нам нужно считать и как их интерпретировать.

Теперь предположим, что мы напишем:

c = (char *)p;

Этот оператор говорит компьютеру, что р указывает на то же место, и данные по этому адресу нужно интерпретировать как один символ (1 байт). В этом случае, с будет указывать на память по адресу 0, или на байт W. Если мы выведем с, то получим значение, хранящееся в W, которое равно шестнадцатеричному 0x12 (помните, что W — это полный байт). Этот пример не зависит от типа компьютера — опять же, все компьютеры одинаково хорошо понимают, что же такое один байт (в прошлом это было не всегда так).

Этот пример полезен, он одинаково работает на все компьютерах — если у нас есть указатель на байт (char *, один байт), мы можем проходить по памяти, считывая по одному байту за раз. Мы можем обратиться к любому месту в памяти, и порядок хранения байт не будет иметь никакого значения — любой компьютер вернет нам одинаковую информацию.

Так в чем же проблема?

Проблемы начинаются, когда компьютер пытается считать несколько байт. Многие типы данных состоят больше чем из одного байта, например, длинные целые (long integers) или числа с плавающей точкой. Байт имеет только 256 значений и может хранить числа от 0 до 255.

Теперь начинаются проблемы — если Вы читаете многобайтные данные, то где находится старший байт?

  • Машины с порядком хранения от старшего к младшему (прямой порядок) хранят старший байт первым. Если посмотреть на набор байтов, то первый байт (младший адрес) считается старшим.
  • Машины с порядком хранения от младшего к старшему (обратный порядок) хранят младший байт первым. Если посмотреть на набор байт, то первый байт будет наименьшим.

Такое именование имеет смысл, правда? Тип хранения от старшего к младшему подразумевает, что запись начинается со старшего и заканчивается младшим (Между прочим, английский вариант названий от старшего к младшего (Big-endian) и от младшего к старшему (Little-endian) взяты из книги “Путешествия Гулливера”, где лилипуты спорили о том, следует ли разбивать яйцо на маленьком конце (little-end) или на большом (big-end)). Иногда дебаты компьютеров такие же осмысленные 🙂

Повторюсь, порядок следования байтов не имеет значения пока Вы работаете с одним байтом. Если у Вас есть один байт, то это просто данные, которые Вы считываете и есть только один вариант их интерпретации (опять таки, потому что между компьютерами согласовано понятие одного байта).

Теперь предположим, что у нас есть 4 байта (WXYZ), которые хранятся одинаково на машинах с обоими типами порядка записи байтов. То есть, ячейка памяти 0 соответствует W, ячейка 1 соответствует X и т. д.

Мы можем создать такое соглашение, помня, что понятие “байт” является машинно-независимым. Мы можем обойти память по одному байту за раз и установить необходимые значения. Это будет работать на любой машине.

c = 0;     // указывает на позицию 0 (не будет работать на реальной машине!)
*c = 0x12; // устанавливаем значение W
c = 1;     // указывает на позицию 1
*c = 0x34; // устанавливаем значение X
...        // то же повторяем для Y и Z

Такой код будет работать на любой машине и успешно установит значение байт W, X, Y и Z расположенных на соответствующих позициях 0, 1, 2 и 3.
Интерпретация данных

Теперь давайте рассмотрим пример с многобайтными данными (наконец-то!). Короткая сводка: “short int” это 2-х байтовое число (16 бит), которое может иметь значение от 0 до 65535 (если оно беззнаковое). Давайте используем его в примере.
short *s; // указатель на short int (2 байта)
s = 0;    // указатель на позицию 0; *s это значение

Итак, s это указатель на short int, и сейчас он указывает на позицию 0 (в которой хранится W). Что произойдет, когда мы считаем значение по указателю s?
  • Машина с прямым порядком хранения: Я думаю, short int состоит из двух байт, а значит я считаю их. Позиция s это адрес 0 (W или 0х12), а позиция s + 1 это адрес 1 (X или 0х34). Поскольку первый байт является старшим, то число должно быть следующим 256 * байт 0 + байт 1 или 256 * W + X, или же 0х1234. Я умножаю первый байт на 256 (2^8) потому что его нужно сдвинуть на 8 бит.
  • Машина с обратным порядком хранения: Я не знаю что курит мистер “От старшего к младшему”. Я соглашусь, что short int состоит из 2 байт и я считаю их точно также: позиция s со значение 0х12 и позиция s + 1 со значением 0х34. Но в моем мире первым является младший байт! И число должно быть байт 0 + 256 * байт 1 или 256 * X + W, или 0х3412.

Обратите внимание, что обе машины начинали с позиции s и читали память последовательно. Не никакой путаницы в том, что значит позиция 0 и позиция 1. Как и нет никакой путаницы в том, что являет собой тип short int.

Теперь Вы видите проблему? Машина с порядком хранения от старшего к младшему считает, что s = 0x1234, в то время как машина с порядком хранения от младшего к старшему думает, что s = 0x3412. Абсолютно одинаковые данные дают в результате два совершенно разных числа.

И еще один пример

Давайте для “веселья” рассмотрим еще один пример с 4 байтовым целым:
int *i; // указатель на int (4 байты 32-битовой машине)
i = 0;  // указывает на позицию 0, а *i значение по этому адресу

И опять мы задаемся вопросом: какое значение хранится по адресу i?
  • Машина с прямым порядком хранения: тип int состоит из 4 байт и первый байт является старшим. Считываю 4 байта (WXYZ) из которых старший W. Полученное число: 0х12345678.
  • Машина с обратным порядком хранения: несомненно, int состоит из 4 байт, но старшим является последний. Так же считываю 4 байта (WXYZ), но W будет расположен в конце — так как он является младшим. Полученное число: 0х78563412.

Одинаковые данные, но разный результат — это не очень приятная вещь.
Проблема NUXI

Проблему с порядком байт иногда называют проблемой NUXI: слово UNIX, сохраненное на машинах с порядком хранения от старшего к младшему, будет отображаться как NUXI на машинах с порядком от младшего к старшему.

Допустим, что мы собираемся сохранить 4 байта (U, N, I, и X), как два short int: UN и IX. Каждая буква занимает целый байт, как в случае с WXYZ. Для сохранения двух значений типа short int напишем следующий код:

short *s; // указатель для установки значения переменной типа short
s = 0;    // указатель на позицию 0
*s = UN;  // устанавливаем первое значение: U * 256 + N (вымышленный код)
s = 2;    // указатель на следующую позицию
*s = IX;  // устанавливаем второе значение: I * 256 + X

Этот код не является специфичным для какой-то машины. Если мы сохраним значение “UN” на любой машине и считаем его обратно, то обратно получим тоже “UN”. Вопрос порядка следования байт не будет нас волновать, если мы сохраняем значение на одной машине, то должны получить это же значение при считывании.

Однако, если пройтись по памяти по одному байту за раз (используя трюк с char *), то порядок байт может различаться. На машине с прямым порядком хранения мы увидим:

Byte:     U N I X
Location: 0 1 2 3

Что имеет смысл. “U” является старшим байтом в “UN” и соответственно хранится первым. Такая же ситуация для “IX”, где “I” — это старший байт и хранится он первым.

На машине с обратным порядком хранения мы скорее всего увидим:

Byte:     N U X I
Location: 0 1 2 3

Но и это тоже имеет смысл. “N” является младшим байтом в “UN” и значит хранится он первым. Опять же, хотя байты хранятся в “обратном порядке” в памяти, машины с порядком хранения от младшего к старшему знают что это обратный порядок байт, и интерпретирует их правильно при чтении. Также, обратите внимание, что мы можем определять шестнадцатеричные числа, такие как 0x1234, на любой машине. Машина с обратным порядком хранения байтов знает, что Вы имеете в виду, когда пишите 0x1234 и не заставит Вас менять значения местами (когда шестнадцатеричное число отправляется на запись, машина понимает что к чему и меняет байты в памяти местами, скрывая это от глаз. Вот такой трюк.).

Рассмотренный нами сценарий называется проблемой “NUXI”, потому что последовательность “UNIX” интерпретируется как “NUXI” на машинах с различным порядком хранения байтов. Опять же, эта проблема возникает только при обмене данными — каждая машина имеет внутреннюю совместимость.

Обмен данными между машинами с различным порядком хранения байтов

Сейчас компьютеры соединены — прошли те времена, когда машинам приходилось беспокоиться только о чтении своих собственных данных. Машинам с различным порядком хранения байтов нужно как-то обмениваться данными и понимать друг друга. Как же они это делают?
Решение 1: Использовать общий формат

Самый простой подход состоит в согласовании с общим форматом для передачи данных по сети. Стандартным сетевым является порядок от старшего к младшему, но некоторые люди могут расстроиться, что не победил порядок от младшего к старшему, поэтому просто назовем его “сетевой порядок”.

Для конвертирования данных в соответствии с сетевым порядком хранения байтов, машины вызывают функцию hton() (host-to-network). На машинах с прямым порядком хранения эта функция не делает ничего, но мы не будем говорить здесь об этом (это может разозлить машины с обратным порядком хранения 🙂 ).

Но важно использовать функцию hton() перед отсылкой данных даже если Вы работаете на машине с порядком хранения от старшего к младшему. Ваша программа может стать весьма популярной и будет скомпилирована на различных машинах, а Вы ведь стремитесь к переносимости своего кода (разве не так?).

Точно также существует функция ntoh() (network-to-host), которая используется для чтения данных из сети. Вы должны использовать ее, чтобы быть уверенными, что правильно интерпретируете сетевые данные в формат хоста. Вы должны знать тип данных, которые принимаете, чтобы расшифровать их правильно. Функции преобразования имеют следующий вид:

htons() - "Host to Network Short"
htonl() - "Host to Network Long"
ntohs() - "Network to Host Short"
ntohl() - "Network to Host Long"

Помните, что один байт — это один байт и порядок не имеет значения.

Эти функции имеют критическое значение при выполнении низкоуровневых сетевых операций, таких как проверка контрольной суммы IP-пакетов. Если Вы не понимаете сути проблемы с порядком хранения байтов, то Ваша жизнь будет наполнена болью — поверьте мне на слово. Используйте функции преобразования и знайте, зачем они нужны.

Решение 2: Использования маркера последовательности байтов (Byte Order Mark — BOM)

Этот подход подразумевает использование некого магического числа, например 0xFEFF, перед каждым куском данных. Если Вы считали магическое число и его значение 0xFEFF, значит данные в том же формате, что и у Вашей машины и все хорошо. Если Вы считали магическое число и его значение 0xFFFE, это значит, что данные были записаны в формате, отличающемся от формата вашей машины и Вы должны будете преобразовать их.

Нужно отметить несколько пунктов. Во-первых, число не совсем магическое, как известно программисты часто используют этот термин для описания произвольно выбранных чисел (BOM может быть любой последовательностью различных байтов). Такая пометка называется маркером последовательности байтов потому что показывает в каком порядке данные были сохранены.

Во-вторых, BOM добавляет накладные расходы для всех передаваемых данных. Даже в случае передачи 2 байт информации Вы должны добавлять к ним 2 байта маркера BOM. Пугающе, не так ли?

Unicode использует BOM, когда сохраняет многобайтные данные (некоторые кодировки Unicode могут иметь по 2, 3 и даже 4 байта на символ). XML позволяет избежать этой путаницы, сохраняя данные сразу в UTF-8 по умолчанию, который сохраняет информацию Unicode по одному байту за раз. Почему это так круто?

Повторяю в 56-й раз — потому что проблема порядка хранения не имеет значения для единичных байт.

Опять же, в случае использования BOM может возникнуть другие проблемы. Что, если Вы забудете добавить BOM? Будете предполагать, что данные были отправлены в том же формате, что и Ваши? Прочитаете данные и, увидев что они “перевернуты” (что бы это не значило), попытаетесь преобразовать их? Что, если правильные данные случайно будут содержать неправильный BOM? Эти ситуации не очень приятные.

Почему вообще существует эта проблема? Нельзя ли просто договориться?

Ох, какой же это философский вопрос. Каждый порядок хранения байтов имеет свои преимущества. Машины с порядком следования от младшего к старшему позволяют читать младший байт первым, не считывая при этом остальные. Таким образом можно легко проверить является число нечетным или четным (последний бит 0), что очень здорово, если Вам необходима такая проверка. Машины с порядком от старшего к младшему хранят данные в памяти в привычном для человека виде (слева направо), что упрощает низкоуровневую отладку.

Так почему же все просто не договорятся об использовании одной из систем? Почему одни компьютеры пытаются быть отличными от других? Позвольте мне ответить вопросом на вопрос: почему не все люди говорят на одном языке? Почему в некоторых языках письменность слева направо, а у других справа налево?

Иногда системы развиваются независимо, а в последствии нуждаются во взаимодействии.

Эпилог: Мысли на прощание

Вопросы с порядком хранения байтов являются примером общей проблемы кодирования — данные должны представлять собой абстрактные понятия, и позднее это понятие должно быть создано из данных. Эта тема заслуживает отдельной статьи (или серии статей), но Вы должны иметь лучшее понимание проблемы, связанной с порядком хранения байтов.

habr.com

1 байт 8 бит. Сколько бит в байте

ЕдиницаАббревиатураСколько
битб0 или 1бит
байтБ
8 бит
килобиткбит (кб)1 000 бит
килобайтКБайт (KБ)1024 байта
мегабитмбит (мб)1 000 килобит
мегабайтМБайт (МБ)1024 килобайта
гигабитгбит (гб)1 000 мегабит
гигабайтГБайт (ГБ)1024 мегабайта
терабиттбит (тб)1 000 гигабит
терабайтТБайт (ТБ)1024 гигабайта

Байт (byte) — единица хранения и обработки цифровой информации. Чаще всего байт считается равным восьми битам, в этом случае он может принимать одно из 256 (2’8) различных значений. Для того, чтобы подчеркнуть, что имеется в виду восьмибитный байт, в описании сетевых протоколов используется термин «октет» (лат. octet).

Килобайт (кБ, Кбайт, КБ) м., скл. — единица измерения количества информации, равная в зависимости от контекста 1000 или 1024 (2’10) стандартным (8-битным) байтам. Применяется для указания объёма памяти в различных электронных устройствах.
1 килобайт (КБ) = 8 килобит (Кб)

Мегабайт (Мбайт, М, МБ) м., скл. — единица измерения количества информации, равная, в зависимости от контекста, 1 000 000 (10’6) или 1 048 576 (2’20) стандартным (8-битным) байтам.

Гигабайт (Гбайт, Г, ГБ) — кратная единица измерения количества информации, равная 2’30 стандартным (8-битным) байтам или 1024 мегабайтам. Применяется для указания объёма памяти в различных электронных устройствах.

Терабайт (Тбайт, ТБ) м., скл. — единица измерения количества информации, равная 1 099 511 627 776 (2’40) стандартным (8-битным) байтам или 1024 гигабайтам. Применяется для указания объёма памяти в различных электронных устройствах.

Петабайт (ПБайт, ПБ) м., скл. — единица измерения количества информации, равная 25’0 стандартным (8-битным) байтам или 1024 терабайтам. Применяется для указания объёма памяти в различных электронных устройствах.

Эксабайт (Эбайт, Э, ЭБ) — единица измерения количества информации, равная 26’0 стандартным (8-битным) байтам или 1024 петабайтам. Применяется для указания объёма памяти в различных электронных устройствах.

Зеттабайт (Збайт, З, ЗБ) — единица измерения количества информации, равная 27’0 стандартным (8-битным) байтам или 1024 эксабайтам. Применяется для указания объёма памяти в различных электронных устройствах.

Йоттабайт (Йбайт, Й, ЙБ) — единица измерения количества информации, равная 1024 стандартным (8-битным) байтам или 1000 зеттабайтам. Применяется для указания объёма памяти в различных электронных устройствах.

1 Йoттабайт можно представить как:

103 = 1 000 Зеттабайтов

106 = 1 000 000 Эксабайтов

109 = 1 000 000 000 Петабайтов

1012 = 1 000 000 000 000 Терабайтов

1015 = 1 000 000 000 000 000 Гигабайтов

1018 = 1 000 000 000 000 000 000 Мегабайтов

1021 = 1 000 000 000 000 000 000 000 Килобайтов

1024 = 1 000 000 000 000 000 000 000 000 Байтов

Конвертор величин байт, бит, килобит, килобайт, мегабит, мегабайт, гигабит, гигабайт, терабит, терабайт, петабит, петабайт, эксбит, эксбайт

7,2 терабайта на один размером с обычный DVD диск

Австралийские исследователи создали технологию, которая теоретически позволяет записывать 7,2 терабайта данных на один диск размером с обычный DVD. Об этом сообщает Nature News, а статья исследователей появилась в журнале Nature.

В современных DVD-приводах запись информации осуществляется при помощи лазерного луча, который выжигает на поверхности диска выемки. Новая технология работает похожим образом. Основное отличие в том, что вместо появления выемок на поверхности диска плавятся золотые наноштыри.

Столь высокой плотности записи информации ученым удалось добиться при помощи нескольких технических приемов. Во-первых, исследователи использовали лазеры нескольких цветов. Дело в том, что лучи определенной длины волны воздействуют только на штыри с определенным соотношением длины и толщины. Во-вторых, исследователи использовали лучи с различной поляризацией, которые действуют на штыри, ориентированные определенным образом.

Используя лучи разного цвета и разной поляризации, представляется возможным записывать информацию на одном и том же регионе диска несколько раз. Так, например, два вида поляризации и три цвета (то есть в общей сложности шесть возможных комбинаций) позволяют записать 1,6 терабайта данных на диск размером с DVD. Если добавить еще один вариант поляризации, то получится диск объемом 7,2 терабайта.

Чтобы считывать информацию, исследователи используют слабый луч лазера, который н

comuedu.ru

Обсуждение:Байт — Википедия

А кому нужна ссылка на йоттабайт? Gato 14:11, 27 февраля 2006 (UTC)

энциклопедичность предполагает некоторую избыточность материала 🙂 К тому же, как я понимаю, приведен полный список десятичных и двоичных префиксов. «И это — правильно»©М.С. —jno 15:30, 27 февраля 2006 (UTC)
Тогда я бы вынес список всех общеупотребимых единиц измерения в отдельную статью, заодно там можно привести оценки «плотности» для разных видов информации (текст, графика, видео, … ), оценки суточного трафика через сеть и все такое. А Йоттабайты никому не нужны. Пока еще только до терабайтов и петабайтов дошли.
Имхо здесь «избыточность» больше связана с гордостью автора за свою работу 🙂 Gato 08:53, 28 февраля 2006 (UTC)
Кто ж против статьи про единицы измерения? Однако, петабайты уже пройденный этап. Скажем, в России Транстелеком уже перешагнул петабайтный «рубеж» трафика. Так что, ежели какому журналисту потребуется новое слово, которое станет модным в ближайшие пару лет, то — вот оно! 🙂 Кстати, там, в Йоттабайте, есть интересная такая табличка… Вот ее бы вынести в статью, а все эти XXXбайты сделать редиректами туда. —jno 11:02, 28 февраля 2006 (UTC)
Подумаю.
А табличку надо перерисовать. Кошмарный цвет. Кто, вообще, сказал, что нежно-лиловый — это красиво? Тогда уж надо было дополнить его цветом розовых зайчиков… 😉 Gato 12:22, 28 февраля 2006 (UTC)

Кстати, а зачем нужна ссылка на Гугол ? К байту никакого отношения не имеет, даже косвенного… —Учаснег 14:45, 5 августа 2008 (UTC)

Не совсем понимаю таблицу[править код]

Не совсем понимаю таблицу. Например, «Название — килобайт, степень — 10^3». В статье четко сказано: «килобайт равен 1024 байтам». Тогда откуда такие данные в таблице? 91.144.150.167 08:36, 1 февраля 2008 (UTC)Al

статья не совсем корректно построена. Вначале говориться о байтах а потом рассуждается о примерах со словами разной длинны, хотя по логике надо говорить о байтах разной длинны. При этом же присутствует оговорка о том, что отождествлять слово и байт некорректно!

Сами предупреждаем сами нарушаем. надо быть более последовательными. 212.122.1.130 05:56, 8 февраля 2008 (UTC) Прохожий

2^0 — это не байт, а бит! байт — это 8 бит, т.е. 2^3 ? — разве не так? 81.28.5.18 16:48, 30 октября 2012 (UTC)

  • Не так. Раздел про производные единицы от байтов, а не битов. 2^0=1 — это 1 (ОДИН) байт. — AVBtalk 17:36, 30 октября 2012 (UTC)

В Обозначении сами авторы не понимают что пишут:

«Межгосударственный (СНГ) стандарт ГОСТ 8.417-2002[1] («Единицы величин») в «Приложении А» для обозначения байта регламентирует использование русской заглавной буквы «Б». Кроме того, констатируется традиция использования приставок СИ вместе с наименованием «байт» для указания множителей, являющихся степенями двойки (1 Кбайт(кибибайт) = 1024 байт, 1 Мбайт(мебибайт) = 1024 Кбайт(кибибайт), 1 Гбайт(гибибайт) = 1024 Мбайт и т. д., причём вместо строчной «к» используется заглавная «К», которая означает не «кило-«, а «киби-«), и упоминается, что подобное использование приставок СИ не является корректным.»—212.93.100.25 18:56, 25 апреля 2013 (UTC)

В статье машинное слово его длина для БЭСМ-6 — 48 бит. Где правда? 85.141.4.194 16:31, 26 марта 2008 (UTC)kiolp

Поправил это место. Vadim Rumyantsev 21:43, 12 октября 2008 (UTC)

Непонятна ЭТИМОЛОГИЯ слова «БАЙТ». ArkadiyVyatich 21:09, 13 октября 2008 (UTC)

  • Это преднамеренное искажение слова «Bite» — англ. «укус», (чтобы не путать с «bit»). Несколько стоящих в ряд единиц напоминают след зубов при укусе. — Эта реплика добавлена с IP 80.70.233.97 (о) 13:00, 24 апреля 2017 (UTC)

В статье не сказано, как правильно склонять в родительном падеже мн. числа: «байт» или «байтов»? (то же относится к битам). Традиция словоупотребления (первый вариант) здесь, кажется, не согласуется с правилами русского языка (второй вариант). Melancholic 15:42, 13 марта 2009 (UTC)

  • Цитирую, я сам вопрос про склонение раньше муссировал:

Согласно ответа Института русского языка имени В. В. Виноградова Российской Академии Наук байт, как и бит, склонять необходимо. —vlom 11:59, 9 июля 2008 (UTC)

  • Я задал там уточняющий вопрос (про «16 килобайт») и получил следующий ответ: «По данным «Русского орфографического словаря» (М., 2005), кроме обычной формы родительного падежа — битов, байтов, килобайтов — существует счетная форма, которая используется в сочетании с числительными: 8 байт, 16 килобайт. Счетная форма является разговорной«. «Точно так же с килограммами. Обычная форма родительного падежа употребляется, если нет числительного, а в сочетании с числительным могут быть варианты: 16 килограммов (стилистически нейтральная обычная форма) и 16 килограмм (разговорная счетная форма)». — AVB 19:34, 12 июля 2008 (UTC)
(К сожалению, я не сохранил ссылку на ответ). Можно эту информацию вставить в статью. — AVBtalk 01:53, 14 марта 2009 (UTC)

Статья неверна. На самом деле 1 кб = 1024 байт (2 в 10той степени)! и так далее. Возьмите калькулятор да посчитайте. 195.248.93.28 08:47, 31 июля 2009 (UTC)

sizeof(char) в с и с++ всегда тождественно 1. char — это минимальная эффективно адресуемая единица информации на целевой платформе, а вот размер всех остальных типов измеряется в char-ах. Если char будет 32 бита и для типа int этого будет достаточно, то sizeof(int) == sizeof(char) == 1 «в терминах языка С» (в котором так-то нельзя применить опретор == указанным образом, но это уже не по теме обсуждаемой неточности)

77.72.138.82 07:53, 18 ноября 2010 (UTC)

Статья некореткная!!! Написали бы нормально!!! Я так и не понял сколько бит 1 байт!!! Что за степени были нарысованы в таблице!!! 95.134.108.14 17:33, 12 февраля 2011 (UTC)НЕДОВОЛЬНЫЙ ЧИТАТЕЛЬ95.134.108.14 17:33, 12 февраля 2011 (UTC)

Уже много лет занимаюсь программированием и машинными кодами. И ни где, кроме этой статьи не видел, чтобы Байт(англ. Byte) был равен не 8-ми битам. Во всей документации, которую видел, приводятся следующие понятия:
Байт(Byte) -8 бит;
Слово(Word) -16 бит;
Двойное слово(DubleWord или DWord) -32 бит;
Четверное слово(QuadroWord или QWord) -64бит.
Двойное Четверное Слово (DQWord) -128бит

И эти цифры у всех программистов и научной литературе, как дважды два. А от куда автор взял другие цифры?

Отец Евгений 13:23, 22 февраля 2011 (UTC)
Извините за избыточно личный вопрос, но Вы действительно занимаетесь программированием более сорока лет? Если нет, то обратите внимание например на PDP-8, или на PDP-10 — 8 бит в байте — это, как и изложено в статье, давний, крайне широко распространённый, но не единственный стандарт. Marlagram 00:26, 24 февраля 2011 (UTC)
Человек много лет занимающийся «программированием и машинными кодами» и при этом не читавший Кнута? Это не смешно, это грустно.77.37.205.84 17:11, 10 марта 2011 (UTC)

— Единицей памяти является байт, состоящий из восьми информационных и одного контрольного битов. Два смежных байта образуют слово.

    "АССЕМБЛЕР И ПРОГРАММИРОВАНИЕ ДЛЯ IBM" ПИТЕР АБЕЛЬ (http://lib.ru/CTOTOR/IBMPC/abel.txt)

Возможно, стоит упомянуть о 9том байте, который используется для контроля четности?


upd: В статье имеется ввиду байт, как единица информации, а не байт в памяти. Вопрос снимаю.

А ка быть с «In the International System of Units (SI), B is the symbol of the bel, a unit of logarithmic power ratios named after Alexander Graham Bell. The usage of B for byte therefore conflicts with this definition. It is also not consistent with the SI convention that only units named after persons should be capitalized. However, there is little danger of confusion because the bel is a rarely used unit. It is used primarily in its decadic fraction, the decibel (dB), for signal strength and sound pressure level measurements, while a unit for one tenth of a byte, i.e. the decibyte, is never used.»? Ведь Б — это Белл…—212.93.100.50 20:04, 19 июля 2013 (UTC)

  • Бел (bel) — это внесистемная величина! Бел —89.201.121.4 10:21, 15 июня 2017 (UTC)

Пожалуйста, проверьте следующие ссылки на внешние ресурсы:

Ссылка заменена на рабочую. —VladVD (обс.) 17:13, 18 ноября 2016 (UTC)

ru.wikipedia.org

Байт и бит — правила написания и область применения

Сегодня о правилах сокращения единиц измерения информации. Если можете ответить на вопрос как читается kB и Mb и где данные единицы применяются, то закрывайте страницу, иначе рекомендую статью к прочтению.

Впервые серьезно столкнулся с необходимостью четко понимать, что значат данные сокращения при разработке калькулятора по расчету архива системы видеонаблюдения и необходимой пропускной способности сети.

Тогда выкрутился отказавшись от сокращения байта и бита, что позволило четко понимать в каких единицах отображается информация.

Область применения байта и бита

Байт, как правило, применяется при измерении объема информации, используют производители жестких дисков, программы которые отображают объем этих дисков и т.п.

 

Бит, как правило, используют производители оборудования предназначенного для передачи данных, в битах отображается скорость подключения к интернету, необходимая пропускная способность канала.

 

При повседневном использовании компьютера можно столкнуться с таким сокращением (приведено на изображении ниже), вроде как измеряется скорость (Speed Limit) и значение должно быть битах, но на самом деле оно в байтах.

Важно знать отличие между B и b (Б и б)

  1. Большая буква “B”(на русском “Б”) это – Байт;

  2. Маленькая буква “б”(на русском “б”) это – бит;

  3. 1 Байт = 8 бит;
  4. 1 килоБайт = 2^10 байтов = 1 024 байта;

  5. 1 МегаБайт = 2^20 байтов = 1 048 576 байта;

  6. 1 ГигаБайт = 2^30 байтов = 1 073 741 824 байта.

Таким образом для измерения информации, скорости ее передачи могут применяться и биты и байты, но сложилось так, что объем информации измеряют в байтах, а скорость в битах.

Поделиться в социальных сетях

markevich.by

Ответы@Mail.Ru: Информатика: почему в 1 байте

Развитие инфо-технологий всегда было плотно связано с телекоммуникациями. Чаще всего ячейка памяти должна была представлять символ. В телеграфии используются 5-битное представление символов (ТА-68). В электронной почте долгое время доминировал ASCII-символ (7бит) . Остатки этой системы кодирования до сих пор существуют в виде mime-протокола, хотя сети (теоретически) позволяют проталкивать бинарный аттачмент без проблем. Некоторые сетевые стандарты оперируют символом размером в 10бит. Восьмёрка, думаю возникла как дешёвый способ предоставить возможность кодить американский ASCII + еще один набор национальных символов.

В первых компьютерах размеры байта и машинного слова обычно были кратны 6. 8 бит в байте было принято при разработке системы команд для IBM System/360. Это стало стандартом де-факто и с начала 1970-х в большинстве компьютеров байты состоят из 8 бит и размер машинного слова кратен 8. 8-битные байты были приняты в System/360, вероятно, из-за использования BCD-формата представления чисел: одна десятичная цифра (0-9) требует 4 бита (тетраду) для хранения; один 8-битный байт может представлять две десятичные цифры. 6-битные байты могут хранить только по одной десятичной цифре, два бита остаются незадействованными. По другой версии, 8-битный размер байта связан с 8-битным же числовым представлением символов в кодировке EBCDIC. В некоторых архитектурах (как правило, это суперкомпьютеры вроде Cray или сигнальные процессоры вроде TMS320VC31) из-за используемой адресации размер байта равен размеру машинного слова и содержит 32 бита. В терминах языка программирования Си sizeof(char) = sizeof(int) = 4.

<a rel=»nofollow» href=»http://otvet.mail.ru/question/24808256/» target=»_blank»>http://otvet.mail.ru/question/24808256/</a>

Байт (англ. byte) — единица хранения и обработки цифровой информации. В настольных вычислительных системах байт считается равным восьми битам, в этом случае он может принимать одно из 256(28) различных значений. Следует понимать, что количество бит в байте не является однозначной величиной и может варьироваться в широком диапазоне. Так, в первых компьютерах размер байта был равен 6 битам. В суперкомпьютерах, вследствие используемой адресации, один байт содержит тридцать два бита. Для того, чтобы подчеркнуть, что имеется в виду восьмибитный байт, а также во избежание широко распростанённого заблуждения, что в одном байте исключительно восемь бит, в описании сетевых протоколов используется термин «октет» (лат. octet). Байт в современных x86-совместимых компьютерах — это минимально адресуемый набор фиксированного числа битов.

touch.otvet.mail.ru

Ответы@Mail.Ru: 1/8 байта — это сколько? 1/8 байта

Если не ошибаюсь это 1 бит.

0,75 вроде. если дробью считать.

это один бит, минимальная еденица в двузначном коде

1 байт = 8 бит. Разделить на 8 сумеете?

touch.otvet.mail.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *