Бит — это самая маленькая единица измерения информации. Биты складываются в байты, те — в килобайты, мегабайты и так далее. Название произошло от слов binary digit, двоичное число. Это значит, что в одном бите может храниться одно из двух значений: 0 или 1.
Например, лампочка может передавать один бит информации. Если она включена — это 1, если выключена — 0. Соответствующим образом работают другие двоичные сигналы. Они приняты за своеобразный эталон: «да» или «нет», «включено» или «выключено»; на этом строятся более сложные структуры.
Также бит — одна цифра в двоичном коде.
В вычисление, а слово естественная единица данных, используемая конкретным процессор дизайн. Слово фиксированного размера часть данных обрабатывается как единое целое Набор инструкций или аппаратное обеспечение процессора. Номер биты одним словом ( размер слова, ширина слова, или длина слова) является важной характеристикой любой конкретной конструкции процессора или компьютерная архитектура.
Размер слова отражается во многих аспектах структуры и работы компьютера; большинство регистры в процессоре обычно имеют размер слова и самый большой фрагмент данных, который может быть передан в и из рабочая память в одной операции есть слово во многих (не во всех) архитектурах. Максимально возможный адрес Размер, используемый для обозначения места в памяти, обычно представляет собой аппаратное слово (здесь “аппаратное слово” означает полноразмерное естественное слово процессора, в отличие от любого другого используемого определения).
Размер слова иногда может отличаться от ожидаемого из-за Обратная совместимость с более ранними компьютерами. Если несколько совместимых вариантов или семейство процессоров имеют общую архитектуру и набор инструкций, но различаются размером слов, их документация и программное обеспечение могут стать сложными в нотации, чтобы учесть разницу (см. Размер семьи ниже).
Как переводить единицы измерения
Можно воспользоваться специальными калькуляторами либо просто умножить или разделить на 8 или 1024. Например, 10 килобайт — это 10 * 1024 * 8 бит, то есть 81920 бит. Если стоит задача перевести что-то из битов в другие единицы измерения, то нужно не умножать, а делить. Но это справедливо, только если количество информации представлено в привычной нам десятичной системе.
Если количество информации записано в двоичном коде, можно сначала перевести этот код в десятичные числа, а можно сориентироваться по степеням двойки. Сколько цифр стоит после первого значащего числа – такой и будет максимальная степень.
Например, 1000 — это 2³, или 8. А 1010 — это 1000 и 10, то есть 2³ и 2¹ — 8 и 2, то есть 10 в десятичной степени.
Поначалу это может казаться сложным, но стоит немного потренироваться, и вы привыкнете.
Использование слов
В зависимости от того, как устроен компьютер, единицы размера слова могут использоваться для:
Числа с фиксированной точкой
Держатели для фиксированная точка, обычно целое число числовые значения могут быть одного или нескольких разных размеров, но один из доступных размеров почти всегда будет подходящим. Остальные размеры, если таковые имеются, скорее всего, будут кратны или дроби размера слова. Меньшие размеры обычно используются только для эффективного использования памяти; при загрузке в процессор их значения обычно попадают в более крупный держатель размером с слово.
Числа с плавающей запятой
Держатели для плавающая точка числовые значения обычно представляют собой либо слово, либо кратное ему слово.
Держатели адресов памяти должны иметь размер, способный выражать необходимый диапазон значений, но не быть чрезмерно большим, поэтому часто используется размер слова, хотя он также может быть кратным или долей размера слова.
Регистры процессора разработаны с размером, соответствующим типу данных, которые они хранят, например целые числа, числа с плавающей запятой или адреса. Многие компьютерные архитектуры используют регистры общего назначения которые способны хранить данные в нескольких представлениях.
Перенос памяти и процессора
Единица разрешения адреса
В данной архитектуре последовательные значения адреса обозначают последовательные единицы памяти; эта единица – единица разрешения адреса. На большинстве компьютеров единицей измерения является либо символ (например, байт), либо слово. (Несколько компьютеров использовали битовое разрешение.) Если единицей измерения является слово, то можно получить доступ к большему объему памяти, используя адрес заданного размера за счет дополнительной сложности доступа к отдельным символам. С другой стороны, если единица измерения является байтом, то можно адресовать отдельные символы (т.е. выбрать во время операции с памятью).
Машинные инструкции обычно размером с слово архитектуры, например, в RISC-архитектуры, или кратное размеру char, составляющему его долю. Это естественный выбор, поскольку инструкции и данные обычно используют одну и ту же подсистему памяти. В Гарвардские архитектуры размеры слов инструкций и данных не обязательно должны быть связаны, поскольку инструкции и данные хранятся в разных запоминающих устройствах; Например, процессор в коммутаторе электронного телефона 1ESS имел 37-битные инструкции и 23-битные слова данных.
Размер семьи
По мере того, как компьютерные конструкции становились все более сложными, центральная важность одного размера слова для архитектуры уменьшалась. Хотя более производительное оборудование может использовать данные более широкого диапазона размеров, рыночные силы оказывают давление на поддержание Обратная совместимость при расширении возможностей процессора. В результате то, что могло бы быть центральным размером слова в новом дизайне, должно сосуществовать в качестве альтернативного размера исходному размеру слова в обратно совместимом дизайне. Исходный размер слов остается доступным в будущих проектах, формируя основу семейства размеров.
В середине 1970-х гг. DEC разработал VAX быть 32-битным преемником 16-битного PDP-11. Они использовали слово для 16-битного количества, а длинное слово относится к 32-битной величине. Это отличалось от более ранних машин, где естественная единица адресации памяти называлась слово, а величина, равная полуслову, будет называться полуслова. В соответствии с этой схемой VAX четырехслово составляет 64 бита. Они продолжили эту терминологию слова / длинного слова / четверного слова с 64-битной Альфа.
Другой пример – x86 семейство, из которых были выпущены процессоры с тремя разными длинами слов (16-бит, позже 32- и 64-бит), а слово продолжает обозначать 16-битное количество. Поскольку программное обеспечение обычно портирован от одного слова к другому, некоторые API и документация определяет или ссылается на более старую (и, следовательно, более короткую) длину слова, чем полная длина слова на ЦП, для которого может быть скомпилировано программное обеспечение. Кроме того, аналогично тому, как байты используются для небольших чисел во многих программах, более короткое слово (16 или 32 бита) может использоваться в контекстах, где диапазон более широкого слова не требуется (особенно когда это может сэкономить значительное пространство стека или кеш пространство памяти). Например, Microsoft Windows API поддерживает язык программирования значение СЛОВО как 16 бит, несмотря на то, что API можно использовать на 32- или 64-битном процессоре x86, где стандартный размер слова будет 32 или 64 бит соответственно. Структуры данных, содержащие слова разного размера, называют их СЛОВО (16 бит / 2 байта), DWORD (32 бита / 4 байта) и QWORD (64 бита / 8 байт) соответственно. Подобное явление развилось в Intel x86 язык ассемблера – из-за поддержки различных размеров (и обратной совместимости) в наборе команд некоторые мнемоники команд несут идентификаторы «d» или «q», обозначающие «двойной», «четырехугольный» или «двухчетверенный», которые являются с точки зрения оригинального 16-битного размера слова архитектуры.
Как правило, новые процессоры должны использовать ту же длину слова данных и ширину виртуального адреса, что и старый процессор, чтобы иметь двоичная совместимость с этим старым процессором.
Часто тщательно написанный исходный код – написанный с совместимость исходного кода и переносимость программного обеспечения в виду – может быть перекомпилирован для работы на множестве процессоров, даже с разной длиной слова данных или разной шириной адреса, или и тем, и другим.
Как считаются единицы измерения информации
Бит — это 0 или 1, «да» или «нет», а больше информации он хранить не может. Для современной техники это очень мало. Поэтому с помощью битов кодируют более крупные единицы информации.
Байт. Основная единица — байт, 8 бит, идущих друг за другом. С помощью байта можно закодировать один символ: существуют разные кодировки, которые описывают правила преобразования. Очень известна таблица ASCII: она показывает соответствие популярных символов числовым значениям. Числа в ней переведены в шестнадцатеричную систему для удобства чтения — последовательность из нулей и единиц запомнить сложнее.
Крупные массивы информации «в глубине» приводятся именно к байтам, не к битам. Так ими проще оперировать.
Килобайт. Килобайт — это 210, то есть 1024 байта. Объясняем, почему подсчет именно такой: основные расчеты ведутся в двоичной системе, и каждый бит (или байт, если конкретный компьютер «приводит» расчеты к байтам) — ее разряд. Увеличение количества информации значит увеличение разрядности: 1, 10, 100 в двоичной системе и так далее.
Все эти числа — степени двойки. 100 — это 4, 1000 — это 8, и так далее. Поэтому и подсчет проводится по степеням двойки: каждая степень соответствует какому-то разряду.
Килобайт обозначается как Кб.
Мегабайт. Мегабайт — это, соответственно, 1024 килобайта, или миллион с лишним байтов. Если точнее, 1048576 байт. Килобайты, как и мегабайты, скорее всего, вам знакомы: эти единицы измерения информации сейчас встречаются много где. Мегабайт обозначается как Мб.
Гигабайт. Гигабайт, в свою очередь, — 1024 мегабайта, или 1048576 килобайт. В байтах число еще более длинное — 1073741824, больше миллиарда. Понятно, что такие большие количества информации просто неудобно записывать в мелких единицах.
Гигабайт обозначается как Гб. Несколько гигабайт может весить, например, видеоролик.
Терабайт и далее. Терабайт — это 1024 Гб. Значения в мегабайтах, килобайтах и тем более байтах мы писать уже не будем — они слишком большие. Раньше такая единица измерения была экзотикой, но теперь терабайтовые жесткие диски встречаются повсеместно. Обозначается он как Тб.
И это не самая большая единица измерения. За ней есть петабайт, эксабайт, зеттабайт и другие. Правда, с такими масштабами пользователь сталкивается очень редко. Петабайт может весить, например, какая-нибудь большая база данных крупной компании. Общее количество информации в интернете измеряется в зеттабайтах и постоянно меняется — интернет все время растет.
Выбор размера слова
Когда проектируется компьютерная архитектура, выбор размера слова имеет большое значение. Существуют конструктивные соображения, которые поощряют определенные размеры группы битов для конкретных целей (например, для адресов), и эти соображения указывают на разные размеры для разных целей. Однако соображения экономии при проектировании настоятельно требуют использования одного размера или очень небольшого числа размеров, связанных кратными или дробными (частичными) размерами с основным размером. Этот предпочтительный размер становится размером слова архитектуры.
символ размер был в прошлом (предварительно изменяемый размер кодировка символов ) одно из влияний на единицу разрешения адреса и выбор размера слова. До середины 1960-х символы чаще всего хранились в шести битах; это позволяло использовать не более 64 символов, поэтому алфавит ограничивался верхним регистром. Поскольку во времени и пространстве эффективно иметь размер слова, кратный размеру символа, размеры слова в этот период обычно были кратны 6 битам (в двоичных машинах). Обычным выбором тогда был 36-битное слово, который также является хорошим размером для числовых свойств формата с плавающей запятой.
После введения IBM Система / 360 дизайн, в котором используются восьмибитные символы и поддерживаются строчные буквы, стандартный размер символа (или, точнее, байт ) стало восемь бит. После этого размер слов, естественно, был кратен восьми битам, причем обычно использовались 16, 32 и 64 бит.
Переменная архитектура слов
Ранние конструкции машин включали некоторые, в которых использовалось то, что часто называют переменная длина слова. В этом типе организации числовой операнд не имеет фиксированной длины, а его конец обнаруживается, когда символ со специальной маркировкой, часто называемой словесный знак, встречался. Такие машины часто используются двоично-десятичная дробь для чисел. К этому классу машин относились IBM 702, IBM 705, IBM 7080, IBM 7010, UNIVAC 1050, IBM 1401, и IBM 1620.
Большинство этих машин работают с одной единицей памяти за раз, и поскольку каждая инструкция или данные имеют длину в несколько единиц, каждая инструкция занимает несколько циклов только для доступа к памяти. Из-за этого эти машины часто довольно медленные. Например, инструкция загружается на IBM 1620 Модель I потребуется 8 циклов, чтобы прочитать 12 цифр инструкции ( Модель II уменьшил это до 6 циклов или 4 циклов, если инструкции не нужны были оба поля адреса). Выполнение инструкции занимало совершенно переменное количество циклов, в зависимости от размера операндов.
Пословная и байтовая адресация
Модель памяти в архитектуре сильно зависит от размера слова. В частности, в качестве слова часто выбирается разрешение адреса памяти, то есть наименьшая единица, которая может быть обозначена адресом. При таком подходе адресный по слову машинный подход, значения адресов, которые отличаются на единицу, обозначают соседние слова памяти. Это естественно для машин, которые почти всегда работают с единицами слова (или нескольких слов), и имеет то преимущество, что позволяет командам использовать поля минимального размера для хранения адресов, что позволяет использовать меньший размер команды или большее разнообразие инструкций.
Когда обработка байтов должна составлять значительную часть рабочей нагрузки, обычно более выгодно использовать байт, а не слово, как единица разрешения адреса. Значения адресов, которые отличаются на единицу, обозначают соседние байты в памяти. Это позволяет напрямую обращаться к произвольному символу в строке символов. Слово все еще может быть адресовано, но используемый адрес требует на несколько бит больше, чем альтернатива разрешения слова. Размер слова должен быть целым числом, кратным размеру символа в этой организации. Такой подход к адресации использовался в IBM 360 и с тех пор является наиболее распространенным подходом в машинах, разработанных.
В байтовом (с байтовой адресацией ) машина, перемещение одного байта из одного произвольного места в другое обычно:
- ЗАГРУЗИТЬ исходный байт
- СОХРАНИТЬ результат обратно в целевой байт
К отдельным байтам можно получить доступ на машине, ориентированной на слова, одним из двух способов. Байтами можно манипулировать с помощью комбинации операций сдвига и маски в регистрах. Для перемещения одного байта из одного произвольного места в другое может потребоваться эквивалент следующего:
- ЗАГРУЗИТЬ слово, содержащее исходный байт
- СДВИГ исходное слово, чтобы выровнять желаемый байт с правильной позицией в целевом слове
- И исходное слово с маской для обнуления всех битов, кроме желаемых
- ЗАГРУЗИТЬ слово, содержащее целевой байт
- И целевое слово с маской для обнуления целевого байта
- ИЛИ регистры, содержащие исходное и целевое слова для вставки исходного байта
- СОХРАНИТЬ результат обратно в целевое местоположение
В качестве альтернативы многие машины, ориентированные на слова, реализуют байтовые операции с инструкциями, используя специальные байтовые указатели в регистрах или памяти. Например, PDP-10 Указатель байта содержит размер байта в битах (позволяющий получить доступ к байтам разного размера), битовую позицию байта в слове и адрес слова данных. Инструкции могут автоматически настраивать указатель на следующий байт, например, при операциях загрузки и депонирования (сохранения).
Разные объемы памяти используются для хранения значений данных с разной степенью точности. Обычно используемые размеры: сила двух кратное единице разрешения адреса (байт или слово). Преобразование индекса элемента в массиве в адрес элемента требует только сдвиг операция, а не умножение. В некоторых случаях эта связь позволяет избежать использования операций деления. В результате большинство современных компьютерных разработок имеют размеры слова (и другие размеры операндов), которые в два раза превышают размер байта.
Определить объём текста
Онлайн калькулятор легко и непринужденно вычислит объем текста в битах, байтах и килобайтах. Для перевода в другие единицы измерения данных воспользуйтесь онлайн конвертером.
Информационный вес (объем) символа текста определяется для следующих кодировок:
Unicode UTF-8
Unicode UTF-16
ASCII, ANSI, Windows-1251
Почему на windows сохраняя текст блокноте перенос строки занимает – 4 байта в юникоде или 2 байта в анси?
Это историческое явление, которое берёт начало с дос, последовательность OD OA (
) в виндовс используются чтоб был единообразный вывод на терминал независимо консоль это или принтер. Но для вывода просто на консоль достаточно только
.
В юникоде есть символы которые весят 4 байта, например эмоджи: 🙃
Пожалуйста напишите с чем связна такая низкая оценка:
Для установки калькулятора на iPhone – просто добавьте страницу «На главный экран»
Для установки калькулятора на Android – просто добавьте страницу «На главный экран»
Битовые операции
Существует класс операций с информацией, которые называют битовыми. Суть в том, что информация переводится в двоичный код — последовательность бит — и потом с каждым ее битом что-то делают. Например, операция битового НЕ — все биты инвертируются: то, что было равно 0, становится 1, а что было 1 — становится 0.
Отличия между «мегабайтами», «мебибайтами» и «мегабитами»
Двоичные приставки. В названиях существует некоторая путаница. Например, существует приставка «би-», и по правилам двойка в какой-то степени должна обозначаться именно с ее помощью. Например, 1024 байта — кибибайт, а килобайт — это ровно 1000 байтов. Соответственно, 1024 кибибайта — мебибайт, а 1000 килобайтов — мегабайт.
Но де-факто такими обозначениями мало кто пользуется. Большинство называет кибибайты и мебибайты килобайтами и мегабайтами. Мы упомянули это, только чтобы вас не смущали обозначения единиц измерения «КиБ», «МиБ» или же KiB, MiB и так далее. Они означают именно кибибайты и мибибайты и используются, например, в некоторых операционных системах.
Отсчет от бита. А еще есть «килобиты», «мегабиты» и «гигабиты» — вы наверняка слышали о таких единицах в рекламе интернет-провайдеров. Так сложилось исторически. На «нижних», близких к физической электронике уровнях сети для расчета количества информации используются биты, а не байты. На более «высоких» уровнях применяются байты, но расчеты в кило- и мегабитах закрепились.
Расчет в таких случаях производится не от байта, а от бита. То есть в степень возводится не количество байт, а количество бит. 1 килобайт — это 8 килобит, так же как и 1 байт — это 8 бит.
Для килобитов, мегабитов и других подобных единиц тоже действует правило с приставкой «би-», так что технически правильнее было бы писать «кибибит», «мебибит» и так далее. Килобит и мегабит в таком случае означали бы 1000 бит и 1000 килобит соответственно. Но опять же такими обозначениями мало кто пользуется.
Кто пользуется битами и зачем они нужны
Все современные цифровые устройства имеют в основе двоичную систему. Так получилось из-за конкретных свойств электроники: схемы, на которых строились и строятся компьютеры, могут иметь одно из двух устойчивых состояний. Когда-то были попытки создать троичный компьютер, но исследования в этой области так и не продолжились.
Поэтому сейчас двоичной системой и, соответственно, битами пользуется любой компьютер. Вы тоже сталкивались с ними: любая цифровая информация на очень глубоком уровне преобразуется в двоичный код. А единицы измерения информации, в которых описывается размер файлов, так или иначе основаны на битах.
Непосредственно с двоичной системой и битами могут работать компьютерные инженеры и низкоуровневые программисты, то есть специалисты, напрямую связанные с «железной» частью компьютеров. Также двоичную систему используют некоторые более высокоуровневые алгоритмы в разных языках программирования. Например, существуют битовые операции — о них мы поговорим ниже.
Использованная литература
- Биби, Нельсон Х. Ф. (22 августа 2017 г.). «Глава I. Целочисленная арифметика». Справочник по вычислению математических функций – Программирование с использованием переносимой программной библиотеки MathCW (1-е изд.). Солт-Лейк-Сити, Юта, США: Springer International Publishing AG. п. 970. Дои:10.1007/978-3-319-64110-2. ISBN 978-3-319-64109-6. LCCN 2017947446. S2CID 30244721.
- Клиппер, Ричард Ф. (1948-09-29). «Система логического кодирования, применяемая к ENIAC (электронный числовой интегратор и компьютер)». Абердинский испытательный полигон, Мэриленд, США: Баллистические исследовательские лаборатории. Отчет № 673; Проект № TB3-0007 Отдела исследований и разработок Управления боеприпасов.. Получено .
- Клиппер, Ричард Ф. (1948-09-29). «Система логического кодирования, применяемая к ENIAC». Абердинский испытательный полигон, Мэриленд, США: Баллистические исследовательские лаборатории. Раздел VIII: Модифицированный ENIAC. Получено .
- Блаау, Геррит Энн; Брукс младший, Фредерик Филлипс (1997). Компьютерная архитектура: концепции и эволюция (1-е изд.). Эддисон-Уэсли. ISBN 0-201-10557-8. (1213 страниц) (NB. Это однотомное издание. Этот труд был также доступен в двухтомном варианте.)
- Ральстон, Энтони; Рейли, Эдвин Д. (1993). Энциклопедия компьютерных наук (3-е изд.). Ван Ностранд Рейнхольд. ISBN 0-442-27679-6.


