Байт это 8 бит: Почему в одном байте 8 бит

Содержание

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 терабайта.

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

Слабой стороной новой технологии является то, что исследователи используют лазерные импульсы очень короткой длительности — порядка нескольких фемтосекунд. Подобные лазеры дороги и сложны в производстве. Ученые надеются, что дальнейшее развитие технологии позволит обойти это ограничение. Они рассчитывают, что промышленное использование их открытия начнется примерно в 2020-х годах. ♌

Ловим Золотую рыбку в Интернете

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

В современной вычислительной технике (компьютерах) наименьшей единицей информации является бит. Одним битом кодируется один единственный символ в двоичной системе. То есть один бит, позволяет записать в какой-либо из разрядов значение «0» или «1».

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

Очевидно, что одним битом, несущим в себе одно лишь число, закодировать какое-либо число невозможно. Поэтому следующей единицей измерения стал байт, состоящий из 8 бит. Биты внутри байта записывают двоичный восьмиразрядный код.

1 1 1 1 1 1
2 7 2 6 2 5 2 4 2 3 2 2 2 1 2

В первой строке таблицы мы записали 1 байт информации, а именно «10110111».

Для того чтобы понять, какое число кодируется этим байтом, необходимо возводить двойку в степень, соответствующую разряду каждого бита справа налево, начиная с нулевого разряда. Если в каком-либо разряде байта стоит бит, содержащий «0» (в данном случае это третий и шестой разряды), то этот разряд суммировать не нужно. Таким образом, закодированное нами число в 1 байте равно 183. Соответственно, максимальное число будет выглядеть так: 11111111 и будет равно 256.

Другие единицы измерения информации

После того, как мы разобрались в том, что 1 байт состоит из 8 бит, стоит изучить следующие «старшие» единицы измерения. Они образуются приставками к байту из СИ (система интернационал),

  • Кило,
  • Мега,
  • Гига,
  • Тера.

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

Отвечая на вопрос, чему равен 1 гигабайт в байтах, потребуется трижды произвести деление объема байтов на 1024.

Таблица единиц информации

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

Бит Байт Килобайт Мбайт Гигабайт
Бит 1 8 8192 8338608 8589934592
Байт 8 1 1024 1048576 1073741824
Килобайт 8192 1024 1 1024 1048576
Мегабайт 8338608 1048576 1024 1 1024
Гигабайт 8589934592 1073741824 1048576 1024 1
Расчёт единиц измерения информации от бита до гигабайта

Пересечением строк и столбцов можно узнать, сколько в килобайте байт и даже перевести гигабайт в бит.

Частая ошибка при выборе тарифного плана

Любой интернет-провайдер, предоставляющий Вам доступ к сети интернет предлагает на выбор большое количество тарифов. При этом скорость интернет соединения обозначается как «Mb/s», либо «mbps», что означает «мегабит в секунду» в то время как большое количество людей ошибочно принимают это обозначение за «мегабайт в секунду», и таким образом на выходе получают скорость интернет соединения в 8 раз медленнее. Теперь вы знаете, сколько мегабит в мегабайте и без труда переведете мегабайт в мегабит. Для удобства перевести байты можно использовать специальный конвертер байт.

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

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

Сколько времени необходимо для скачивания файла

При скачивании аудио, видео и других файлов из сети интернет, необходимо понимать, за какое время будет произведено получение этих данных. К примеру, средний полнометражный фильм в HD-качестве с хорошим озвучиванием будет иметь размер порядка 5 гигабайт. Несложно посчитать, что 5 гигабайт = 5120 мбайт = 40960 мегабит. Остается только поделить размер файла в мегабитах на скорость интернет соединения в тех же мегабитах. В случае интернет соединения 40мбит/с, загрузка файла займет 1024 секунды, что составляет чуть более 17 минут.

Теперь вы знакомы с тем, сколько байт в мегабайте, ответив, что в 1 мегабайте 1048576 байт, и без труда сможете перевести килобиты в мегабиты.

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

Мы уже знаем, что компьютер воспринимает всю информацию . Бит – это минимальная единица измерения информации, соответствующая одной двоичной цифре («0» или «1»).

Байт состоит из восьми бит. Используя один байт, можно закодировать один символ из 256 возможных (256 = 2 8). Таким образом, один байт равен одному символу, то есть 8 битам:

1 символ = 8 битам = 1 байту.

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

Таблица байтов:

1 байт = 8 бит

1 Кб (1 Килобайт ) = 2 10 байт = 2*2*2*2*2*2*2*2*2*2 байт =
= 1024 байт (примерно 1 тысяча байт – 10 3 байт)

1 Мб (1 Мегабайт ) = 2 20 байт = 1024 килобайт (примерно 1 миллион байт – 10 6 байт)

1 Гб (1 Гигабайт ) = 2 30 байт = 1024 мегабайт (примерно 1 миллиард байт – 10 9 байт)

1 Тб (1 Терабайт ) = 2 40 байт = 1024 гигабайт (примерно 10 12 байт). Терабайт иногда называют тонна .

1 Пб (1 Петабайт ) = 2 50 байт = 1024 терабайт (примерно 10 15 байт).

1 Эксабайт = 2 60 байт = 1024 петабайт (примерно 10 18 байт).

1 Зеттабайт = 2 70 байт = 1024 эксабайт (примерно 10 21 байт).

1 Йоттабайт = 2 80 байт = 1024 зеттабайт (примерно 10 24 байт).

В приведенной выше таблице степени двойки (2 10 , 2 20 , 2 30 и т.д.) являются точными значениями килобайт, мегабайт, гигабайт. А вот степени числа 10 (точнее, 10 3 , 10 6 , 10 9 и т.п.) будут уже приблизительными значениями, округленными в сторону уменьшения. Таким образом, 2 10 = 1024 байта представляет точное значение килобайта, а 10 3 = 1000 байт является приблизительным значением килобайта.

Такое приближение (или округление) вполне допустимо и является общепринятым.

Ниже приводится таблица байтов с английскими сокращениями (в левой колонке):

1 Kb ~ 10 3 b = 10*10*10 b= 1000 b – килобайт

1 Mb ~ 10 6 b = 10*10*10*10*10*10 b = 1 000 000 b – мегабайт

1 Gb ~ 10 9 b – гигабайт

1 Tb ~ 10 12 b – терабайт

1 Pb ~ 10 15 b – петабайт

1 Eb ~ 10 18 b – эксабайт

1 Zb ~ 10 21 b – зеттабайт

1 Yb ~ 10 24 b – йоттабайт

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

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

Понятно, что в таблице байтов можно и дальше добавлять нули, а точнее, степени к числу 10 таким образом: 10 27 , 10 30 , 10 33 и так до бесконечности. Но зачем это надо? В принципе, пока хватает терабайт и петабайт. В будущем, возможно, уже мало будет и йоттабайта.

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

Есть удобный «терабайтник» – внешний жесткий диск, который подключается через порт USB к компьютеру. На него можно записать терабайт информации. Особенно удобно для ноутбуков (где смена жесткого диска бывает проблематична) и для резервного копирования информации. Лучше заранее делать резервные копии информации, а не после того, как все пропало.

Флешки бывают 1 Гб, 2 Гб, 4 Гб, 8 Гб, 16 Гб, 32 Гб, 64 Гб и даже 1 терабайт.

Могут вмещать 650 Мб, 700 Мб, 800 Мб и 900 Мб.

DVD-диски рассчитаны на большее количество информации: 4.7 Гб, 8.5 Гб, 9.4 Гб и 17 Гб.

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

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

Первое, о чем надо сказать, что в большинстве своем люди используют десятичную систему исчисления, которая привычна еще со школы. Но в случае с информацией будет использоваться двоичная система, которую представлена в виде 0 и 1. Чаще всего данный механизм используется именно в работе с компьютерной техникой, как правило, речь идет об объеме винчестеров или оперативной памяти.

Почему реальная и заявленная емкость жестких дисков различается?

Многие производители винчестеров часто используют эту путаницу. Заявленная емкость винчестера, который приобрел пользователь, скажем, 500 гигабайт. Но на деле, когда его уже установили и подготовили к работе, оказывается, что его общий объем колеблется в диапазоне 450-460 гигабайт.

А вся хитрость в том, что, как упоминалось в начале статьи, объем оперативной памяти, как и всех остальных ее типов используют двоичную систему расчета. А производители используют десятичную. Это и дает им возможность якобы «увеличивать» памяти, где-то на 10 процентов. Хотя на самом деле покупателей просто вводят в заблуждение.

Поговорим о системах исчисления

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

Двоичная система исчисления, как уже писалось выше, представлена в виде нулей и единиц. Частица информации является битом и может принять значение либо нуля, либо единицы и никак иначе. Именно это и будет бит. Байт, снова-таки, как упоминалось, будет состоять из восьми бит, если говорить именно о двоичной системе исчисления. Причем каждый будет писаться как 2 в определенной степени от 0 до 7. Если попытаться показать проще, то выглядеть это будет, как: 11101001.

Это наглядный пример 256 комбинаций, которые и закодированы в байте. Но для пользователей это трудно, ведь они привыкли видеть все через призму десятичной системы исчисления. Значит переведем это, для чего потребуется просто прибавить все степени двойки там, где у нас есть единицы. Для этого нам требуется взять 2 в степени 0 + 2 в степени 3 + 2 в степени 5 + 2 в степени 6 + 2 в степени 7.

Еще одним важным моментом является полубайт или как его называют ниббл. Это половина байта, то есть 4 бита. Как правило, в нем можно закодировать любое число от 0 до 15.

Нестыковки в битах и байтах

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

  • 1 байт = 8 бит;
  • 1 килобайт = 8 килобит;
  • 1 мегабайт = 8 мегабит.

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

Другая проблема будет в том, что самой системе байтов существует ряд нестыковок, которые вызывают у пользователей проблемы с переводы в мега, гига, терабайты и так далее. Дело здесь в том, что с самого начала появления для того, чтобы обозначить единицы информации, которые больше байтов, применяются термины, которые относятся к десятичной системе, а не к двоичной. Например, приставка «тера» обозначает умножение на 10 в 12 степени, гига — на 10 в 9, мега — на 10 в 6 и так далее.

Именно по этой причине путаница и возникает. Логично было бы предположить, что 1 килобайт равен 1000 байт, но это не так. В нем будет 1024 байта.

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

Все разделы сайта сайт


На этой странице мы подробно рассмотрим структуру файла

Вы знаете из чего состоит компьютерный файл? Нет? Тогда вам будет интересно узнать это, а также много забавных вещей:)))

Например, как компьютер определяет эротические фотографии? То есть он может даже определить и сравнить фото, то есть найти одинаковые фотографии, не важно в каком они формате: jpg или gif

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

Начнем сначала…

Размер байта

Из чего состоит один байт ? Из каких символов и числовых значений?

1 байт состоит из восьми битов… ниже будет большой видео-урок

а также приведена специальная таблица.

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

А изготовители компьютерных девайсов и продавцы в магазинах вполне сознательно «путают» понятия «мегабайт» и «гигабайт» с миллионами и миллиардами байтов.

Наверняка вы сами были удивлены несоответсвием заявленного количества гигабайтов и мегабайтов в купленно жестком диске, будь он внутренний или внешний, с накопителями всегда такая история:)

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

А для быстрого и точного числового перевода значений
лучше пользоваться таким конвертером:

Теперь вы без труда посчитаете сколько байт в килобайте :))))

В этом уроке мы будем разбирать тип файла bmp. Вначале немного окунемся в школьный курс информатики. Итак, разберем этот файл по байтам.

Для тех кто не имеет представление что такое биты, байты, килобиты, мегабайты и т.п. выше на странице приведена подробная таблица с данными.

Посмотрите отличный большой видеоурок Артема Кашеварова. Эта информация не совсем для новичков (чайников), хотя им тоже будет очень интересно и познавательно посмотреть!

Не забудьте включить колонки

================

Что будет в этом видео-уроке? Заглянем в структуру файла .
Например, возьмем точечный рисунок. Разберем его на байты.

Для тех кто не знает, в видео-уроке будет рассказано и показано, что такое бит, байт, килобайт, килобит, мегабайт.

А также, обработка по вертикали. Двоичный код байта и как определить насколько сжато изображение

Размер байта, сколько битов в байте и т.п. в десятиричной системе

Как просчитывать данные и работать в программной среде Delphi … поменять разрядность и битность изображения… как оно тогда изменится внешне?

Сколько занимает один байт, как он отображается и как записывыется изображение в байтах …

Как хранятся пиксели по горизонтали и вертикали, последовательность пикселей… как устроено изображение, посмотрим на глубину цвета изображения.

Затем редактируем код обработки изображения, вычислить строки файла, изменение формата изображения, а также обзор структуры файла — из чего состоит файл изображения

Что такое операция «mod», чтение изображение по байтам…

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

Изменение формата изображения

В конце урока вы видите создание программы и азы программирования на Delhi … а также, как изменить размер изображения в пикселах

Байт содержит 8 бит или 9?

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

Байт — это любое количество бит, которое кто-то решит принять. Это может быть 8-битный, или 9-битный, или 16-битный, что угодно. В 2016 году в большинстве случаев байт будет восьмибитным. Чтобы быть в безопасности, вы можете использовать термин октет — октет всегда, всегда, восемь битов.

Настоящая путаница здесь ставит в тупик два вопроса: 1. Какое количество битов в байте? 2. Если бы я хотел перенести один байт из одного места в другое, или если бы я хотел сохранить байт, используя практические физические средства, как бы я это сделал? Второй вопрос, как правило, вас мало интересует, если вы не работаете в компании, производящей модемы, жесткие диски или твердотельные накопители. На практике вас интересует первый вопрос, а на второй вы просто говорите: «Ну, кто-то за этим следит».

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

Биты четности практически не используются в этой примитивной форме. Данные, которые хранятся постоянно, обычно защищаются более сложными способами, например, путем добавления 32-битной или более длинной контрольной суммы к блоку из 1024 байтов, что занимает гораздо меньше дополнительного пространства (0,4% в этом примере вместо 12,5%) и значительно реже не узнать, когда что-то не так.

Почему 1 байт равен 8 битам?



Почему не 4 бита или 16 бит?

Я предполагаю, что некоторые аппаратные причины связаны с этим, и я хотел бы знать, как 8bit 1byte стал стандартом.

byte bit
Поделиться Источник Aerin     16 марта 2017 в 18:57

1 ответ


  • Почему sizeof(Derived4) равен 8 байтам? Я думаю, что это должно быть 5 байт

    Это выход данной программы: sizeof(Empty) 1 sizeof(Derived1) 1 sizeof(Derived2) 4 sizeof(Derived3) 1 sizeof(Derived4) 8 sizeof(Dummy) 1 Это программа: #include <iostream> using namespace std; class Empty {}; class Derived1 : public Empty {}; class Derived2 : virtual public Empty {}; class…

  • кто решает размер байта, компилятор или CPU?

    Я знаю, что байт-это наименьшая адресуемая кодовая единица памяти CPU, поэтому размер байта в машине x86-32 составляет 8 бит , однако стандарт c++ утверждает, что sizeof(char)==1 bytes>=8 bits , поэтому я могу иметь компилятор для машины x86-32, которая имеет sizeof(char)==16 bits , что.16) возможных символов, что сделало бы компьютеры менее эффективными при выполнении инструкций на уровне байтов, тем более что наш набор символов намного меньше.

    Кроме того, байт может представлять 2 кусочка. Каждый кусочек составляет 4 бита, что является наименьшим количеством битов, которые могут кодировать любую числовую цифру от 0 до 9 (10 различных цифр).

    Поделиться Bango     16 марта 2017 в 19:06


    Похожие вопросы:


    Java-возможное преобразование с потерями из байта в символ

    Это меня удивило: char c = ‘M’; byte b = -1; c = b; //incompatible types Почему это, возможно, преобразование с потерями? Байт — это 8 бит, а размер символа в Java всегда равен 16 битам, поэтому я…


    Почему в некоторых системах длинное целое число занимает более 4 байт?

    Я понимаю, что стандарт говорит, что размер a long integer зависит от реализации, но я не уверен, почему. Все, что ему нужно сделать, это иметь возможность хранить от -29 до 2147483647 или от 0 до…


    Понимание концепции индексных дескрипторов

    Я имею в виду ссылку о концепциях Inodes Я запутался по частям: 12 прямых указателей блок 1 один косвенный указатель блока 1 двуспальная косвенный указатель блока 1 тройной косвенной указатель блока…


    Почему sizeof(Derived4) равен 8 байтам? Я думаю, что это должно быть 5 байт

    Это выход данной программы: sizeof(Empty) 1 sizeof(Derived1) 1 sizeof(Derived2) 4 sizeof(Derived3) 1 sizeof(Derived4) 8 sizeof(Dummy) 1 Это программа: #include <iostream> using namespace std;…


    кто решает размер байта, компилятор или CPU?

    Я знаю, что байт-это наименьшая адресуемая кодовая единица памяти CPU, поэтому размер байта в машине x86-32 составляет 8 бит , однако стандарт c++ утверждает, что sizeof(char)==1 bytes>=8 bits ,…


    Значение байт как 8 бит

    Мне просто было интересно, почему байт равен 8 BITS ? В частности, если мы говорим о наборе символов ASCII, то все его символы могут быть представлены всего 7 битами, оставляя один запасной бит(в…


    Как получить доступ к битам в отображенной памяти?

    Только представьте! Я получаю 8 байт как uint8_t data[8] от интерфейса IO, который обрабатывает некоторую домашнюю автоматизацию. Эти восемь байтов должны быть интерпретированы как паровые: Как…


    Почему вывод нижеприведенного кода равен -1 и -2?

    Почему вывод нижеприведенного кода равен -1 и -2, Он должен быть 1 и 2, верно? Также на сервере 64 bit размер нижеприведенной структуры составляет 4 байта, это должно быть 8 байт, верно?…


    Почему тип данных ‘ intc` в numpy по умолчанию равен 32 битам?

    Почему тип данных intc в numpy по умолчанию равен 32 битам при запуске 32-битного Anaconda с Python 2.7 на 64-bit OS? Пример: np.intc(1).dtype # dtype(‘int32’) Аналогично: type(np.intc(1)) #…


    Почему CHAR(1) в SQL занимает 1 байт, в то время как символ в java занимает 2 байта?

    Я читал в SQL/92 (я новичок в этом), и он прошел через различные типы данных. Один из них-CHAR, который, конечно, я знаю, довольно похож на строку в java, а не на символ в java. Но предположим, что…

    БАЙТ — это… Что такое БАЙТ?

  • байт — байт/ …   Морфемно-орфографический словарь

  • байт — а; мн. род. ов и байт; м. [англ. byte]. Единица измерения количества информации, равная 8 битам. * * * байт (англ. byte), единица количества информации, обычно состоящая из 8 бит и используемая как одно целое при передаче, хранении и переработке… …   Энциклопедический словарь

  • байт — основная единица количества информации, воспринимаемая и обрабатываемая в компьютере. Она соответствует восьми разрядам двоичного кода: 1 байт = 8 бит. Один байт – это количество информации в сообщении об одном из 256 (т. е. 2 в 8 й степени)… …   Энциклопедия техники

  • Байт — в запоминающих устройствах наименьшая адресуемая единица данных в памяти ЭВМ, обрабатываемая как единое целое. По умолчанию байт считается равным 8 битам. Обычно в системах кодирования данных байт представляет собой код одного печатного или… …   Финансовый словарь

  • БАЙТ — [англ. byte кусок, доля, часть] инф. машинное слово из 8 бит; б. используется для представления в вычислительной машине кода одного символа; употребляется также как единица измерения количества информации; килобайт (кбайт) содержит 1024 байт,… …   Словарь иностранных слов русского языка

  • БАЙТ — (byte) Единица компьютерной информации, состоящая из группы двоичных разрядов (binary digits), представляющих собой число или знак. В большинстве небольших компьютеров байт состоит из 8 двоичных разрядов; в более мощных компьютерах используются… …   Словарь бизнес-терминов

  • БАЙТ — (англ. byte) часть машинного слова, состоящая обычно из 8 бит (двоичных единиц) и используемая как единица количества информации при ее хранении, передаче и обработке на ЭВМ. Байт служит для представления букв, слогов и специальных символов… …   Большой Энциклопедический словарь

  • байт — байт, а; р. мн. байтов, счётн.ф. байт …   Русское словесное ударение

  • Байт — (буквально «дом», «палатка») по арабски стих, являющийся вместе с тем и древнейшей строфой (т. к. он состоит из двух полустиший: «шатр» или «мисра» «половина», «створка двери»), а с европейской точки зрения скорее двустишием, иногда равным 30 и… …   Литературная энциклопедия

  • байт — сущ., м., употр. сравн. часто Морфология: (нет) чего? байта, чему? байту, (вижу) что? байт, чем? байтом, о чём? о байте; мн. что? байты, (нет) чего? байтов и байт, чему? байтам, (вижу) что? байты, чем? байтами, о чём? о байтах В компьютерных… …   Толковый словарь Дмитриева

  • Биты и Байты — основные единицы измерения информации

    Чтобы досканально разобраться что такое Биты, что такое Байты и зачем всё это нужно, давайте сначала стоит немного остановимся на понятии «Информация», так как именно на ней построена работа вычислительной техники и сетей передачи данных, в том числе и нашего любимого Интернета.
    Для человека, Информация — это некие знания или сведения, которыми обмениваются люди в процессе общения. Сначала знаниями обменивались устно, передавая друг другу, затем появилась письменность и информацию стали передавать уже с помощью рукописей, а затем уже и книг. Для вычислительных систем Информация — это данные которые собираются, обрабатываются, сохраняются и передаются дальше между звеньями системы, либо между разными компьютерными системами. Но если раньше информация помещалась в книги и её объём можно было хоть как-то наглядно оценить, например в библиотеке, то в условиях цифровых технологий она стала вирутальной и её нельзя измерить с помощью обычной и привычной метрической системы, к которой мы привыкли. Поэтому были введены единицы измерения информации — Биты и Байты.

    Бит информации

    В компьютере информация хранится на специальных носителях. Вот самые основные и знакомые большинству из нас:

    - жесткий диск (HDD, SSD)
    - оптический диск (CD, DVD)
    - съёмные USB-диски (флешки, USB-HDD)
    - карты памяти (SD, microSD и т.п.)

    Ваш персональный компьютер или ноутбук получает информацию, в основном в виде файлов с различным объёмом данных. Каждый из этих файлов любой носитель данных на аппаратном уровне получает, обрабатывает, хранит и передаёт в виде последовательности сигналов. Есть сигнал — единица, нет сигнала — ноль. Таким образом вся храняшаяся на жестком диске информация — документы, музыка, фильмы, игры — предствалена в виде нулей: 0 и единиц: 1. Эта система исчисления называется двоичной (используется всего два числа).
    Вот одна единица информации (без разницы 0 это или 1) и называеся бит. Само слово bit пришло к нам как аббревиатура от binary digit — двоичное число. Что примечательно, в английском языке есть слово bit — немного, кусочек. Таким образом, бит — это самая наименьшая единица объёма информации.

    Сколько битов в Байте

    Как Вы уже поняли выше, сам по себе, бит — это самая маленькая единица в системе измерения информации. Оттого и пользоваться ею совсем неудобно. В итоге, в 1956 году Владимир Бухгольц ввёл ещё одну единицу измерения — Байт, как пучок из 8 бит. Вот наглядный пример байта в двоичной системе:

    00000001
    10000000
    11111111

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

    Килобайт, Мегабайт, Гигабайт

    Со временем, объёмы информации росли, причём в последние годы в геометрической прогрессии. Поэтому, решено было использовать приставки метрической системы СИ: Кило, Мега, Гига, Тера и т.п.
    Приставка «кило» означает 1000, приставка «мега» подразумевает миллион, «гига» — миллиард и т.д. При этом нельзя проводить аналогии между обычным килобитом и килобайтом. Дело в том, что килобайт — это отнюдь не тысяча байт, а 2 в 10-й степени, то есть 1024 байт.

    Соответственно, мегабайт — это 1024 килобайт или 1048576 байт.
    Гигабайт получается равен 1024 мегабайт или 1048576 килобайт или 1073741824 байт.

    Для простоты можно использовать такую таблицу:

    Для примера хочу привести вот такие цифры:
    Стандартный лист А4 с печатным текстом занимает в средем около 100 килобайт
    Обычная фотография на простой цифровой фотоаппарат — 5-8 мегабайт
    Фотографии, сделанные на профессиональный фотоаппарат — 12-18 мегабайт
    Музыкальный трек формата mp3 среднего качества на 5 минут — около 10 мегабайт.
    Обычный фильм на 90 минут, сжатый в обычном качестве — 1,5-2 гигабайта
    Тот же фильм в HD-качестве — от 20 до 40 гигабайт.

    P.S.:
    Теперь отвечу на вопросы, которые мне наиболее часто задают новички.
    1. Сколько Килобит в Мегабите? Ответ — 1000 килобит (по системе СИ)
    2. Сколько Килобайт в Мегабайте? Ответ — 1024 Килобайта
    3. Сколько Килобит в Мегабайте? Ответ — 8192 килобита
    4. Сколько Килобайт в Гигабайте? Ответ — 1 048 576 Килобайт.

    Сколько в килобайте байт? Единицы измерения информации.

    Думаю, про биты и про байты Вы уже знаете, и про килобайты с мегабитами тоже… но всё ли Вы про них знаете? Давайте проверим, ответьте, пожалуйста, мне на вопрос:

    Как Вы думаете, сколько в одном килобайте содержится байт? Может быть 1024? Или все-таки 1000?

    Правильный ответ в этом IT-уроке.

    Результаты опроса «Сколько в килобайте байт?»

    Как Вы знаете, я провел опрос на эту тему: на сайте, в социальной сети ВКонтакте и среди моих студентов.

    Вот какие получились результаты в сумме:

    Результаты опроса «Сколько в килобайте байт?»

    На самом деле оба первых варианта только частично верны. А правильный ответ вы узнаете из этого IT-урока.

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

    То, что компьютер хранит информацию в виде нолей «0» и единиц «1» (используется двоичная система счисления), мы уже узнали в третьем IT-уроке.

    Теперь вспомним (или узнаем) про основные единицы измерения данных.

    Бит (bit) – базовая единица измерения информации, может содержать только одну двоичную цифру. Бит может принимать только два значения: «0» или «1».

    Байт (byte) – также единица количества информации, один байт равен восьми битам (1 Байт = 8 бит).

    Это довольно маленькие объемы данных (можно сравнить с измерением веса в «граммах»), поэтому…

    Приставки К, М, Г, Т («кило-», «киби-» и т.д.)

    …чтобы измерять большие объемы данных, используют кратные приставки (это как «килограмм»). Привычная же нам приставка «кило-» означает умножение на 1000 (103), но в двоичной системе счисления используют два в десятой степени (210).

    Давайте же вместе с сайтом IT-уроки разберемся в этом запутанном вопросе.

    История введения двоичных приставок

    Для обозначения величины 210=1024 байт, ввели двоичную приставку «К» (именно прописная буква «К»), но в разговорной речи единицу «К» стали называть «кило», что не совсем одно и то же. Чтобы избежать путаницы, ввели названия приставкам:

    К — «киби»,
    М — «меби»,
    Г — «гиби»,
    Т — «теби»…

    Т.е. второй слог изменили с привычного на «би», «бинарный».

    Но путаница не исчезла, многие расшифровывали «К» и «М» привычными «кило» и «мега». Даже международные стандарты по-разному интерпретировали расшифровку двоичных приставок. Кроме того, производители добавили масла в огонь внесли свой вклад в запутывание ситуации (одни считали 210, другие 103).

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

    Ки — «киби»,
    Ми — «меби»,
    Ги — «гиби»,
    Ти — «теби»…

    Как Вы думаете, помогло? Конечно же, нет 🙂

    В обиходе говорят «кило», в программах ОС Windows пишут «К», в Linux обозначают «Ки», производители жестких и оптических дисков пишут «К», а имеют в виду «Ки» и т.д.

    Что же делать обычному пользователю?

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

    1. Обычное использование двоичных приставок

    В свойствах файлов почти все программы, да и сама операционная система Windows использует приставку в виде прописной буквы «К», «М», «Г» и т.д. Производители оперативной памяти используют тот же принцип. То есть можно пользоваться следующей таблицей:

    Двоичные приставки в ОС Windows и у производителей ОЗУ 1 Кбайт (КБ или KB или Kbyte) = 1024 байт

    Эта «К» на самом деле двоичная приставка «киби» (а не «кило», как все говорят).

    2. Правильное использование двоичных приставок

    В других операционных системах, а также в профессиональных обзорах серьезных ИТ-изданий сразу пишут «Киб», «МиБ», «ГиБ», чтобы не было сомнений, о чем идет речь.

    Двоичные приставки в ОС Linux, OS X и в профессиональных обзорах 1 кибибайт (КиБ или KiB или kebibyte) = 1024 байт

    3. Использование десятичных приставок

    Производители накопителей (жестких дисков (HDD), карт флэш-памяти, а также DVD и BD-дисков) используют десятичные приставки. Эти же приставки используются при обозначении скорости передачи данных (100 Мбит/с = 100 000 000 бит/с, об этом в следующем IT-уроке).

    Если используется приставка «кило», «мега», «гига» и т.д., то имеются в виду следующие соотношения:

    Десятичные приставки используют производители накопителей (Жесткие диски, флэшки, DVD-диски) 1 килобайт (кБ или kB или kbyte) = 1000 байт

     

    Куда исчезли 70 гигабайт на жестком диске???

    Посмотрим, как Windows видит два моих жестких диска 500 ГБ и 1 ТБ:

    Жесткий диск 500 ГБ отображается как 465.76 ГБ, а винчестер объемом 1000 ГБ содержит всего 931.51 гигабайт.

    Наверное, Вы уже догадались, почему жесткий диск объемом 1 Терабайт в ОС Windows отображается как 931 ГБ, а не 1000.

    Производители считают, что в нем 1 000 000 000 килобайт, а ОС Windows делит на 1024 и получает 976 562 500 Кбайт (кибибайт) или 931 Гбайт (гибибайт).

    Так что, не ругайте производителей и уж тем более компьютерную фирму, всё отмерено верно, но разными рулетками 🙂

    Т.е. 70 гигабайт никуда не делись, просто гибибайт на жестком диске меньше, чем гигабайт.

     

    Не запутались? Тогда еще один пример.

     

    «Почему на флешке меньше места?»

    То же самое и с флэш-накопителями. Если Вы посмотрите на свойства своей флэшки, то (к примеру) вместо 16 GB, указанных на корпусе, увидите 14.9 ГБ!!!

    На флешке вместо 16 GB — 14.9 ГБ

    Теперь Вы знаете, что 1.1 ГБ «потерялся» при пересчете из килобайт в кибибайты.

    Заключение

    Разобрались? Теперь Вы знаете ответ на вопрос, сколько байт в килобайте, а сколько в кибибайте (бит в килобите и в кибибите). Вот последняя картинка, которая должна окончательно развеять все сомнения при ответе на вопрос «сколько в килобайте байт?»:

    Как Вам урок? Жду Ваших отзывов в комментариях!

    Автор: Сергей Бондаренко http://it-uroki.ru/

    Копирование запрещено

    Всё перечисленное в этом уроке в сокращенном виде я занес в справочник ПО.

    А в следующем уроке мы узнаем, как измеряется скорость передачи данных и как хитрят провайдеры, рекламирующие свои «огромные» скорости подключения к Интернету.

    Чтобы не пропустить новый урок, подписывайтесь на новости по вот этой ссылке (а в пришедшем письме подтвердите подписку).


    Поделитесь с друзьями:



    Понравились IT-уроки?

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


    Много интересного в соц.сетях:

    Дневники чайника

    Дневники чайника

    Системы счисления и устройство памяти.


    Второй день

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

    Только целые и только положительные.

    Возможно, вы проходили эту тему в школе, и кто-то из вас даже что-то помнит, но начинать нужно именно отсюда.

    Нас будут интересовать 3 системы счисления — dec, bin, hex.

    Десятичная — Decimal (Dec или буква «d»)

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

    0,1,2,3,4,5,6,7,8,9

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

    Запомни, юнга! В космосе нет верха, нет низа — это всё условности. И то, что у тебя десять пальцев на руках, это всего лишь исключение. У наших бинарных братьев всего два пальца, они смеются над тобой — урод десятипалый :). У них есть на это право, их больше и они старше. С Бинарниками надо дружить, иначе корабль собьют на подходе к первой же станции.

    Двоичная система счисления — Binary (Bin или буква «b»)

    Нетрудно догадаться, что двоичная система имеет всего два символа 0 и 1.

    Компьютер — это очень простой прибор, в нём есть только выключатели — биты (вкл. =1, выкл. =0).

    Понятие Bit, скорее всего, произошло от английских слов Binary — двоичная и Digit — цифра. Но поскольку битов о-о-очень много, биты строятся в байты.

    11111111 - это байт
    01010101 - и это байт
    00000000 - и это тоже байт

    Бит может иметь значение 0 или 1.

    Байт — это 8 бит, и он может иметь значения от 0000 0000 — ноль, до 1111 1111 — 255 в десятичной системе (пробелы для читаемости). Получается, что у байта 256 значений (всегда считается вместе с нулевым).

    биты       dec-цифры     |    биты       dec-цифры
    00000001 = 1             |    00001011 = 11
    00000010 = 2  !          |    00001100 = 12
    00000011 = 3             |    00001101 = 13
    00000100 = 4  !          |    00001110 = 14
    00000101 = 5             |    00001111 = 15
    00000110 = 6             |    00010000 = 16  !
    00000111 = 7             |    00010001 = 17
    00001000 = 8  !          |    00010010 = 18
    00001001 = 9             |    00010011 = 19
    00001010 = 10            |    00010100 = 20
    И так до 11111111 = 255.

    Переводить из десятичных цифр в биты (то есть в двоичные цифры) и обратно можно на виндовом калькуляторе (в инженерном режиме). Потренируйтесь пока так. Учить наизусть всю таблицу не нужно, познакомились — уже хорошо. :)

    Как вы думаете, почему я выделил 2,4,8,16?

    Правильно, это «круглые» цифры. В десятичной системе они, конечно, не круглые, но в двоичной получается 10,100,1000,10000. Поэтому десятичная система для компьютерных вычислений не очень подходит. Вместо неё используется…

    Шестнадцатиричная система счисления — Hexadecimal (Hex или буква «h»)

    Имеет целых 16 символов. Чтоб не придумывать новые символы, в hex используются буквы латинского алфавита.

    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F  - это цифры

    Я приравняю все hex-символы к десятичным значениям.

    h d    h d    h d     h d 
    0=0    4=4    8=8     C=12
    1=1    5=5    9=9     D=13
    2=2    6=6    A=10    E=14
    3=3    7=7    B=11    F=15

    В этой системе счисления ноль справа прибавляется при умножении на 16 (десятичных).

    Лишние нули слева от числа значения не имеют, так же, как и в математике.

    Однако если число начинается с буквы (A-F), ноль слева нужен при наборе программ. Иначе как компилятор будет определять, что началось число? А чтобы не путать числа в разных системах и писать при этом коротко, пишут:

    d — десятичные значения

    01,02,03,04,05,06,07,08,09,10d,11d,12d,13d,14d,15d,16d,17d,18d,19d,20d...

    h — шестнадцатиричные значения

    01,02,03,04,05,06,07,08,09,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh,10h,11h,12h,13h,14h...

    b — двоичные значения

    0,1,10b,11b,100b...

    Вот примеры:

    01   *  16d = 10h     (получается 16d)
    10h  *  16d = 100h    (получается 256d)
    100h *  16d = 1000h   (получается 4096d)
    
    
    1    *  10h  = 10h
    10h  +  10h  = 20h
    10h  *  10h  = 100h
    100h +  100h = 200h
    
    10b  *  10b  = 100b
    

    Удобно, правда? А вот так?

    10d + 10h = 1Ah или 26d

    Неудобно. Поэтому всегда ВСЕ ВЫЧИСЛЕНИЯ ДЕЛАЙТЕ В ОДНОЙ СИСТЕМЕ!

    Сам я никогда не перевожу из hex в dec и в bin в уме или на листочке, для этого есть калькулятор. И мне знакома эта растерянность перед новыми цифрами. Но я и не рассчитываю, что стало понятно хоть что-то. Просто вы должны знать, что системы счисления hex & bin существуют. Через месяц практики вы привыкнете к шестнадцатиричной системе как к родной. А вот двоичная будет использоваться только в пределах четырёх байт. На экране монитора мне лишь изредка приходится видеть биты как «01011010», хотя часто их очень не хватает.

    Теперь ещё раз про байт.

    
    bin-числа   hex-числа
    00001000  = 08
    00010000  = 10h
    00100000  = 20h
    01000000  = 40h
    10000000  = 80h
    ...
    11111111b = FFh

    В байт умещаются ровно два разряда hex-системы счисления! Именно так мы и будем видеть байты. Вспомните наш нулевой эксперимент:

             байты в hex                     символы в кодировке DOS (Р - русская буква)
    90 41 90 41 90 90 41 41 42 43 44       |    РAРAРРAABCD

    Теперь вы понимаете, что я имел в виду, сказав: «90 здесь 144». Правильнее было бы сказать 90h = 144d.

    Байт это 8 бит, и что самое главное, байт — минимально адресуемая ячейка памяти.

    Если нужно прочитать информацию, например, из бита 900, то нам нужно обратиться к 112-му байту и посмотреть в нём бит номер 4.

          | Адрес в байтах    |    Информация в БИТАХ
          |                   |    76543210 - номера бит (разряд)
    ------|-------------------|-----------------------------------------------
     111d | 0000006F          |    00000000
     112d | 00000070          |    000?0000
     113d | 00000071          |    00000000
     114d | 00000072          |    00000000
    

    Конечно же, в компьютере физически биты не разделяются пробелами. Вся оперативная память, например, — сплошной поток выключателей :).

    Но при отображении биты обычно разделяют на:
    байты — 8 бит, две hex-цифры, или
    тетрады — 4 бита, одна hex-цифра.

    Обратите внимание на запись. Мы нумеруем биты справа налево и обязательно от нуля — это стандарт для учебников и документации. Кроме того, нумерация от нуля имеет математический смысл (разряды нужно осознать!).

    Хотя так информацию мы видеть практически не будем. Вместо битов везде будут hex-байты, вот так:

            Адрес в байтах    |    Информация в БАЙТАХ
           -------------------|---------------------------------------
            0000006F          |    00
            00000070          |    00
            00000071          |    00
            00000072          |    00

    или вот так:

            Адрес в байтах    |    Информация в БАЙТАХ
           -------------------|---------------------------------------
            0000006F          |    00 00 00 00
    

    Здесь вынужден заметить: адреса в файле и адреса в оперативной памяти — это совершенно разные вещи.

    Далее по тексту я буду грубо писать: «адрес в памяти», под этими словами мы будем подразумевать часть логического адреса, которую принято называть смещением (offset). В рамках наших уроков смещение — вполне достаточный адрес в памяти. Однако смещение — это не полный логический адрес и называть смещение адресом без оговорок — довольно грубо! В следующем витке мы обязательно разберём адресацию памяти в разных режимах процессора, и там я расскажу, что такое сегмент и смещение.

    А сейчас запомните. Когда я пишу: адрес в файле, я подразумеваю номер байта в файле от нуля. И это норма. А вот когда я пишу: адрес в памяти, это значит, что речь идёт о части логического адреса, называемой смещением (тоже от нуля).

    Да простят меня профи за такую вольность.

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

    Первая полезная программа

    Что там у нас дальше по учебнику? Этого вам пока не надо… Этого я и сам ещё не знаю… Тут слишком много умностей… Нет, пожалуй, продолжу, как предложил Олег Калашников. Пожалуй, лучший подход для любителей практики.

    Эксперимент 01 (prax01.com)

    Я по-прежнему подразумеваю, что вы используете WinXP и пример должен работать.

    Создайте файл с расширением «com» (напомню в FAR’e — Shift+F4). Назвав файл, напечатайте в нём любую букву или цифру, ну, допустим, «1». Сохраните файл (в FAR’e — Esc).

    Нет, это ещё не программа, этот файл выполнять не нужно. Откройте в Hiew’e.

    Сейчас вы видите 1, если нажать «F4» (Mode), то, как и в тот раз, вы увидите байт в hex-виде. F4 еще раз покажет дизассемблерный код. Если в файле единица, то выглядеть код будет так:

    
    Адреса    Байты         Имена    Операнды
    00000000: 31            xor    [bx][si],ax

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

    Предмет, с (или над) которым производится действие, называется операнд.

    Операнды в ассемблере для Интел-совместимых процессоров принято разделять запятыми. То есть в некоторых системах или в других языках программирования пишут:
    AX xor 44
    или вполне может быть такая форма записи:
    44,55 xоr AX
    Но в x86 ассемблере принято писать так:

    xor AX,44
    
    где AX - операнд 1 (он же приёмник), 
      а 44 - операнд 2 (он же источник).

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

    В Hiew’e (когда вы видите дизассемблерный код нашего файла) нажмите F3 и затем Enter. Теперь можно набирать программу на ассемблере (символ «1» в файле должен стереться). Каждая инструкция вводится Enter’ом и превращается в строку, если нет явной ошибки. Пробелы нужны только для удобства, поэтому неважно, сколько их. Пишите как хотите, строчными или прописными буквами, но только по-англицки. :)

    Вот код программы, его нужно набрать:

    mov  ah,9
    mov  dx,10Dh
    int  21h
    mov  ah,10h
    int  16h
    int  20h

    Когда всё напишете, нажмите один раз Esc, чтобы прекратить ассемблирование, и F9, чтобы сохранить файл.

    Это был весь код программы, которая должна выводить строку на экран! Круто, правда? Только не хватает самой строки.

    Для того, чтоб вписать строку, нужно открыть файл в текстовом редакторе (в FAR’e — F4).

    Допишите после всех закорючек (только не сотрите ничего) любую текстовую строку и в конце поставьте знак $.

    Это может выглядеть примерно так:

    _?_?
    _?_?_?_?_Good Day!$
    

    Закорючки будут другие, но вид такой. Сохраните программу. Откройте снова в Hiew’e.

    
    Адреса    Маш.команды Команды Асма      комментарии
              Байты       Имена Операнды   
    
    00000000: B409        mov   ah,009    ; Поместить значение 9 в регистр AH (параметр1)
    00000002: BA0D01      mov   dx,0010D  ; Поместить адрес текстовой строки в DX (параметр2)
    00000005: CD21        int   021       ; Вызвать подпрограмму, в которой
                                          ; отработает функция вывода текста на экран (AH=09)
    
    00000007: B410        mov   ah,010    ; Поместить значение 10h в регистр AH (параметр1)
    00000009: CD16        int   016       ; Вызвать подпрограмму ожидания нажатия клавиши
    0000000B: CD20        int   020       ; Подпрограмма завершения
    
    0000000D: 47          inc   di
    0000000E: 6F          outsw
    0000000F: 6F          outsw
    00000010: 64204461    and   fs:[si][61],al
    00000014: 7921        jns   000000037  ---X
    00000016: 24          and   al,000

    Принято так, что после точки с запятой идёт комментарий, просто пояснение для людей. В этом примере я откомментировал все строки кода программы. Только вам от этого пока не легче.

    Видите, начиная с адреса в файле 0000000Dh, появились команды, которые вы не писали, это всего лишь строка текста. Её процессор выполнять не будет только потому, что перед строкой текста стоит код завершения (int 20).

    Запустите программу (можно из проводника)… Если компьютер с вами поздоровался — я вас тоже поздравляю! Значит, у вас есть шанс научить его делать и более сложные вещи.

    Вы увидите окно DOS-приложения с текстом:
    Good Day!
    Нажатие на любую клавишу вызовет выход из программы.

    Если же этого не произошло — не расстраивайтесь. Перепроверьте всё несколько раз, может быть, вы опечатались. Прочитайте «Аннотацию» в последней главе или комментарии. Я пока ничего подобного не написал, но, возможно, когда-нибудь придётся. Ведь у нас нет гарантии, что новые твАрения MS или других «рук» не изменят ситуацию в худшую сторону. Хотя, будем надеяться, что программа заработает и на новых OS’ях и процессорах.

    «$» не выводится. Хм, интересно :/ Это условный символ конца строки?

    Да, но в windows мы будем использовать нулевой байт (00h) для этой же цели.

    Вот, уже получилась полнофункциональная программа для DOS, которая будет работать и в Windows.

    Прямо так и вижу следующие «почему»:
    Почему mov?
    Почему ah?
    Почему 9?
    И вообще, что это за подпрограммы-прерывания int 16, int 21, int 20.

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

    На самом деле вывод строки на экран без специальной DOS-функции ничуть не сложнее. Мы используем именно такой способ из-за того, что он наиболее схож с программированием под Win. Здесь было бы аккуратнее и быстрее выводить на экран без специальной подпрограммы DOS-функций.

    Но ДОС в прошлом, а нас ждёт Win32.

    Cамое главное не переживать, если вы вдруг не понимаете что здесь к чему, поверьте, через пару уроков вы полностью поймёте эту программу.

    Мы завтра весь день будем искать ответ на вопрос «Почему ah», так как этот «почему» — самый важный во всём ассемблере. Серьёзно!

    Bitfry


    Всегда ли байт 8 бит?

    Да, в современных вычислениях байт всегда равен 8 битам.

    В книге используются слова, а не байты

    В книге явно упоминается слово и размер слова, а о байтах нет ни слова (ха-ха). Посмотрите на фразу .., которая представлена ​​в ОЗУ 32 последовательными 16-битными словами. . Полный размер выражается в (16-битных) словах, а не в байтах.

    Следовательно, 8K означает 8 киловордов. Формально 8 килобайт будет записано как 8 килобайт, если это обозначение вообще используется в этой книге.

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

    Чтобы увидеть, как связаны байты и слова, прочтите этот ответ.

    Различные размеры байтов

    Википедия описывает, как байт изначально (1960-е годы) был основан на размере информации, которую он должен был хранить, поэтому 6-битный байт можно было использовать для (английских) символов, а байты других размеров использовались бы для разных числовых форматов.Он начинался с 6 бит для английских символов, вырос до 7 бит для поддержки ASCII, и в конечном итоге популярность 8-битной IBM System / 360 привела к глобальному признанию 8-битных байтов.

    Байт — это программная единица, представляющая объем данных, в то время как слово больше связано с архитектурой процессора / памяти и представляет рабочие единицы (регистры) в процессоре и адресуемые единицы в памяти. Однако в настоящее время байт всегда считается 8-битным, а количество слов кратно этому.По-прежнему существуют процессоры с другим размером слова, но это процессоры специального назначения. Нормальное оборудование, от ПК до телефонов и игровых консолей, соответствует стандарту.

    информатика — значение байтов как 8 бит

    Основная причина, по которой это 8 бит, а не 7, заключается в том, что должно быть в степени 2 .

    Также: представьте, как будет выглядеть полубайтов в 7-битных байтах ..

    Также идеально (и быстро) для преобразования в и из шестнадцатеричного .

    Обновление :

    Какое преимущество мы получим, если у нас будет степень двойки … Объясните, пожалуйста,

    Во-первых, давайте различим BYTE и ASCII-символ . Это 2 разные вещи.

    Байт используется для хранения и обработки цифровой информации (чисел) оптимизированным способом , тогда как символ предназначен (или должен быть) только для взаимодействия с нами, людьми, потому что нам трудно читать двоичный (хотя в наши дни big-data , big-internetspeed и big-clouds , даже серверы начинают общаться друг с другом в тексте (xml, json), но это совсем другая история..).

    Что касается байта , являющегося степенью 2 , краткий ответ:

    Преимущество степени 2 состоит в том, что данные можно легко эффективно выровнять по границам байтов или целых чисел — для одного байта, который будет равен 1, 2, 4 и 8 битам, и он становится лучше с более высокими степенями 2.

    Сравните это с 7-битным ASCII (или 7-битным байтом ): 7 — простое число, что означает, что только 1-битные и 7-битные значения могут храниться в выровненной форме.

    Конечно, есть еще много причин, о которых можно подумать (например, расположение и структура логических вентилей и мультиплексоров внутри CPU / MCU).

    Допустим, вы хотите, чтобы управлял входными или выходными контактами на мультиплексоре : с 2 линиями управления (битами) вы можете адресовать 4 контакта, с 3 входами, можно адресовать 8 контактов , с 4 -> 16, .. — то же самое для адресных строк. Таким образом, чем больше вы смотрите на нее, тем больше смысла в использовании степени 2. Это самая эффективная модель.

    Как для оптимизированный 7-битный ASCII :

    Даже в системе с 8-битными байтами 7-битный ASCII можно легко сжать с некоторым битовым сдвигом.Можно создать Class с оператором [] без необходимости иметь 7-битные байты (и, конечно, простое сжатие будет даже лучше).

    Аппаратное обеспечение

    — Какова история того, почему байты равны восьми битам?

    Много действительно ранних работ было сделано с 5-битными кодами бодо, но они быстро стали довольно ограничивающими (только 32 возможных символа, то есть в основном только заглавные буквы и несколько знаков препинания, но не хватило «места») для цифр).

    Оттуда многие машины перешли на 6-битные символы. Однако это все еще было довольно неадекватным — если вам нужны были буквы и цифры в верхнем и нижнем регистре (английские), оставалось только два дополнительных символа для пунктуации, поэтому у большинства все еще был только один регистр букв в наборе символов.

    ASCII определяет 7-битный набор символов. Это было «достаточно хорошо» для множества применений в течение длительного времени, а также легло в основу большинства новых наборов символов (ISO 646, ISO 8859, Unicode, ISO 10646 и т. Д.))

    Бинарные компьютеры мотивируют дизайнеров делать размеры, равные степени двойки. Поскольку для «стандартного» набора символов в любом случае требовалось 7 бит, было несложно добавить еще один бит, чтобы получить степень 2 (и к тому времени хранилище становилось достаточно дешевым, что «тратило» немного для большинства символов. тоже было более приемлемо).

    С тех пор наборы символов перешли на 16- и 32-битные, , но большинство обычных компьютеров в значительной степени основаны на оригинальном IBM PC. С другой стороны, достаточная часть рынка в достаточной степени удовлетворена 8-битными персонажами, и даже если бы ПК не достиг своего нынешнего уровня доминирования, я не уверен, что все в любом случае сделали бы все с более крупными персонажами.

    Добавлю еще, что рынок сильно изменился. На текущем рынке размер символа определяется не столько аппаратным обеспечением, сколько программным обеспечением. Windows, Java и др. Давно перешли на 16-битные символы.

    Итак, препятствие для поддержки 16- или 32-битных символов лишь минимально связано с трудностями, присущими самим 16- или 32-битным символам, и в основном из-за сложности поддержки i18n в целом. В ASCII (например) определение того, является ли буква верхним или нижним регистром, или преобразование между ними невероятно тривиально.В полном Unicode / ISO 10646 это в основном неописуемо сложно (до такой степени, что стандарты даже не пытаются — они дают таблицы, а не описания). Затем вы добавляете тот факт, что для некоторых языков / наборов символов даже базовая идея о верхнем / нижнем регистре не применима. Затем вы добавляете тот факт, что даже отображение символов в некоторых из них еще более сложно.

    Это все настолько сложно, что подавляющее большинство программного обеспечения даже не пытается это сделать. Ситуация медленно улучшается, но медленно — оперативное слово.

    Архитектура компьютера

    — содержит ли байт 8 бит или 9?

    Во-первых, учебное пособие, на которое вы ссылаетесь, кажется довольно устаревшим и, по-видимому, направлено на устаревшие версии процессоров x86, без указания этого, поэтому многие вещи, которые вы там читаете, не будут поняты другими (например, если вы утверждают, что СЛОВО состоит из 2 байтов, люди либо не будут знать, о чем вы говорите, либо они будут знать, что вас учили на очень устаревших процессорах x86, и они будут знать, чего ожидать).

    Байт — это любое количество битов, которое кто-то сочтет нужным. Это может быть 8 или 9 бит или 16 бит, что угодно. В 2016 году в большинстве случаев байт будет восьмибитным. На всякий случай можно использовать термин октет — октет всегда, всегда восьмибитный.

    Настоящая путаница заключается в том, что сбивают с толку два вопроса: 1. Какое количество битов в байте? 2. Если бы я хотел передать один байт из одного места в другое или если бы я хотел сохранить байт, используя практические физические средства, как бы я это сделал? Второй вопрос обычно вас мало интересует, если вы не работаете в компании, производящей модемы, жесткие диски или SSD-накопители.На практике вас интересует первый вопрос, а на второй вы просто говорите «ну, кто-то за этим позаботится».

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

    Биты четности в этой примитивной форме практически не используются. Данные, которые хранятся постоянно, обычно защищаются более сложными способами, например, путем добавления 32-битной или более длинной контрольной суммы к блоку из 1024 байтов, что занимает гораздо меньше дополнительного места (0,4% в этом примере вместо 12,5%) и намного реже не узнает, когда что-то не так.

    битов и байтов

    битов и байтов




    Биты и байты

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

    Bit
    Компьютерные процессоры могут только определить, включен ли провод.К счастью, они могут смотреть сразу на множество проводов (см. Шину), и реагировать на сложную последовательность включений и выключений довольно изощренно. способами. Чтобы преобразовать эти шаблоны во что-то осмысленное для людей мы считаем провод, который находится на отметке «1» и провод, который отключен, чтобы быть «0». Тогда мы можем посмотреть на проводах, ведущих в компьютер, и прочтите что-то вроде 00110111 00010000. Мы не знаем, что это означает для процессора, это просто узор. Каждое место в шаблоне — это бит, который может быть 1 или 0.Если для процессора это означает число, биты составляют двоичное число.

    Двоичные числа
    В наши дни большинство из нас считает десятками. Использовались древние культуры считать по 5, 12 или 24, но за последнюю тысячу лет, счет десятками был нормой. когда вы видите число 145, вы просто знаете, что он включает одну группу из десяти десятков, плюс четыре группы из десяти и еще пять. Десять десятков — это сто или десять в квадрате. Десять сотни — это тысяча, или десять до третьего. Есть шаблон здесь.Каждая цифра представляет собой число десятков в степени. позиции цифры, если вы начинаете отсчет с ноль и считайте справа налево.

    Если вы сделаете то же самое с битами, которые могут быть только 1 или 0, каждая позиция в списке битов представляет некоторую степень двойки. 1001 означает одну восьмерку плюс отсутствие четверок, плюс отсутствие двоек, плюс одну дополнительную. Это называется двоичной записью. Вы можете преобразовывать числа из двоичного запись в десятичную систему счисления, но это бывает редко.

    байта
    Такие числа, как 00110111 10110000, намного легче читать, если вы помещаете пробелы каждые 8 ​​бит.В десятичной системе счисления мы используем запятые. каждые три цифры по той же причине. Нет ничего особенного около 8 бит, просто так началось. Оборудование есть легче построить, если вы последовательно сгруппируете провода из одного куска к другому. Некоторое старое оборудование использовалось для группировки проводов по 10 секунд, но в 70-х годах идея работы в группах по 8 человек действительно взяла верх, особенно в дизайне интегральных схем. Кто-то сделал шутка о группе, несущей байт данных, и термин застрявший. Иногда вы слышите группу из четырех битов, называемую полубайтом.

    Наибольшее число, которое вы можете представить с помощью 8 бит, — это 11111111, или 255 в десятичной системе счисления. Поскольку 00000000 — самый маленький, вы может представлять 256 вещей байтом. (Помните, укус — это просто шаблон. Это может быть буква или оттенок зеленого.) биты в байте имеют числа. Самый правый бит — это бит 0, а слева — бит 7. У этих двух битов тоже есть имена. Крайний правый младший значащий бит или lsb. Это наименее важно, потому что его изменение меньше всего влияет на значение.Который это MSB? (Байты в большем количестве также могут называться наименьшими значительный и наиболее значительный.)

    Шестнадцатеричные числа
    Даже с пробелом 00110111 10110000 читать довольно сложно. Разработчики программного обеспечения часто используют шестнадцатеричный код для представления бинарные паттерны. Шестнадцатеричный был создан путем взятия десятичного числа к бинарной идее и идя другим путем. Кто-то добавил шесть цифр на обычные 0-9, поэтому число до 15 может быть представлено единый символ.Поскольку их нужно было набирать на обычной клавиатуре, были использованы буквы A-F. Один из них может представлять четыре бита стоит, поэтому байт записывается как две шестнадцатеричные цифры. 00110111 10110000 становится 37B0.

    Вот удобная таблица:
    Двоичное десятичное
    0 0000 0
    1 0001 1
    2 0010 2
    3 0011 3
    4 0100 4
    5 0101 5
    6 0110 6
    7 0111 7
    8 1000 8
    9 1001 9
    A 1010 10
    B 1011 11
    C 1100 12
    D 1101 13
    E 1110 14
    F 1111 15

    С тремя разными схемами легко перепутать числа.1000 можно перевести в тысячу, восемь или четыре тысячи и девяносто шесть. Вы должны указать, какую систему вы используете. Тот факт, что вы все еще иногда видите устаревшую систему под названием восьмеричный (цифры 0-7. Вы можете решить) добавляет к потенциалу для путаницы. Шестнадцатеричные числа можно указывать записью их 1000hex 1000h или 0x1000. Двоичные числа можно записать в 1000 байт. . Восьмеричные числа были записаны с дополнительным ведущим 0. Десятичные числа числа не указаны, если нет возможности путаница, например, один на странице шестнадцатеричных чисел.

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

    В компьютерной инженерии понятие шины было расширено. для обозначения группы проводов, по которым данные передаются по системе. Обычно проводов достаточно для обработки от одного до четырех байтов.В размер этих автобусов имеет большое влияние на эффективность система. 32-битная шина может обрабатывать числа вдвое длиннее (что означает От 2 до 16 больше), чем 16-битная шина.

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

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

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

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

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

    Приводы
    Поскольку память очищается при отключении питания, есть должна быть какая-то механическая система для хранения данных между заданиями. Носитель, используемый для хранения данных, может отличаться от магнитной ленты. на оптические диски, а некоторые устройства позволяют легко снял и заменил. Большинство этих систем хранения включают в себя некоторые вид вращающегося диска. Существует продуманная схема хранения трек данных на диске — байты сгруппированы в блоки, блоки в файлы, файлы в каталоги (или папки), и каталоги в разделы (или тома).Пользователь обычно видит только файлы и выше.
    Центральный процессор
    Центральный процессор, или ЦП, является сердцем компьютера. ЦП считывает инструкцию из памяти (инструкции битовые. узоры, как и все остальное.), выполняет и смотрит для следующей инструкции. В инструкции простые вещи вроде скопировать значение из памяти. ЦП имеет свои собственные ячейки памяти. называется регистрами. Специальное оборудование позволяет добавлять или вычесть регистры друг из друга.Чтобы сложить два числа, ЦП должен получить первое число и поместить его в регистр, получить другое число и поместите его в другой регистр, сложите два регистра, и занесите результат обратно в память. Каждая из этих операций требуется инструкция.
    Часы
    К счастью, ЦП может делать все это очень быстро. Целый работа контролируется схемой генератора, называемой системой часы, которые работают с миллионами герц (циклов в секунду). Это Было бы просто подумать, что один тактовый цикл означает одну инструкцию, но инструкции различаются по сложности и занимают от 4 до 20 циклов до завершения.Операции еще больше замедляются из-за память, которая не успевает за собой. Некоторые процессоры имеют супер высокоскоростная память, называемая кешем, где числа, которые необходимы партия может быть сохранена и извлечена быстрее.

    Периферийные устройства
    ЦП обменивается данными с памятью через адрес и данные автобус. Для связи с остальным миром используются другие автобусы. использовал. (Места, где можно подключить внешние устройства, иногда называемые портами.) Эти шины могут использоваться совместно или подключаться к одному устройство.Они могут быть последовательными или многопроволочными, называемыми параллельными. Устройства, подключенные к системе, называются периферийными устройствами; Это включает в себя клавиатуры, мониторы, мыши, графические планшеты, принтеры, MIDI-системы и многое другое. У каждого свои данные и электрические характеристики, но соединение в порту должно быть достаточно стандартизировано, чтобы позволяют взаимозаменять аналогичные устройства. Ниже приведены виды увязок в различных системах.

    Параллельный порт
    Это старый стандарт, изначально предназначенный для принтеров, поэтому его часто называют портом принтера, хотя другие вещи могут можно подключать здесь, а принтеры можно подключать другими способами.Что касается портов данных, то этот довольно медленный.
    IDE / ATA
    Это параллельная шина, предназначенная для устройств хранения больших объемов данных. Обычно это скрыто внутри коробки, так как используемые разъемы не очень сильны. В шине IDE есть провода, которые выбирают какое устройство активно, поэтому логическое расположение устройства (диск A, B и т. Д.) Зависит от того, к какому разъему он подключен.

    SCSI
    Это еще один тип параллельной шины для массового хранения. Это механически намного сильнее, чем IDE, поэтому его часто используют между коробки.SCSI — это развивающийся стандарт, который периодически адаптируется работать на более высоких скоростях. SCSI вмещает семь устройств на buss, и каждая из них должна иметь уникальный идентификационный номер на задней панели.

    SVGA
    Это тип видеоразъема. Это один из многих, но самый распространенный прямо сейчас.

    Comm Port
    Это тип последовательного порта, который существует уже несколько десятилетий. Другое название для этого — RS-232, что является названием технического документ, описывающий, как это должно работать.Это самый медленный порт из всех. Сюда подключаются только очень простые устройства.

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

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

    USB
    USB — это новая высокоскоростная последовательная система. Он должен вместить до 128 устройств и позволяет подключать устройства без выключение питания. (Возня с IDE или SCSI с питанием может повредить вещи.)

    Firewire
    Firewire, также известный как IEEE 1394, является еще более быстрым последовательным система. Он также более надежен, чем USB, по ряду причин. Между FireWire и SCSI идет соревнование, чтобы узнать, какой быстрее. Firewire определенно удобнее.

    MIDI
    MIDI — это система связи, разработанная для музыкальных инструментов. Он используется для управления другими вещами, но главное — это музыка. MIDI подробно обсуждается в другом месте на этом сайте.

    Система Base-2 и 8-битный байт

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

    Таким образом, компьютеры используют двоичные числа и, следовательно, используют двоичных цифры вместо десятичных цифр. Слово бит является сокращением слов «Двоичная цифраIT.0) = 8 + 0 + 2 + 1 = 11

    . Вы можете видеть, что в двоичных числах каждый бит содержит значение возрастающей степени 2. Это значительно упрощает подсчет в двоичном формате. Начиная с нуля и до 20, счет в десятичном и двоичном формате выглядит следующим образом:

     0 = 0
     1 = 1
     2 = 10
     3 = 11
     4 = 100
     5 = 101
     6 = 110
     7 = 111
     8 = 1000
     9 = 1001
    10 = 1010
    11 = 1011
    12 = 1100
    13 = 1101
    14 = 1110
    15 = 1111
    16 = 10000
    17 = 10001
    18 = 10010
    19 = 10011
    20 = 10100 

    Если посмотреть на эту последовательность, 0 и 1 одинаковы для десятичной и двоичной систем счисления.Под цифрой 2 вы видите, что перенос происходит первым в двоичной системе. Если бит равен 1, и вы добавляете к нему 1, бит становится 0, а следующий бит становится 1. При переходе от 15 к 16 этот эффект переносится через 4 бита, превращая 1111 в 10000.

    Биты встречаются редко. один в компьютерах. Они почти всегда объединяются в 8-битные коллекции, и эти коллекции называются байтами . Почему в байте 8 бит? Аналогичный вопрос: «Почему в дюжине 12 яиц?» 8-битный байт — это то, что люди выбрали путем проб и ошибок за последние 50 лет.

    С 8 битами в байте вы можете представить 256 значений в диапазоне от 0 до 255, как показано здесь:

     0 = 00000000
      1 = 00000001
      2 = 00000010
       ...
    254 = 11111110
    255 = 11111111 

    В статье «Как работают компакт-диски» вы узнаете, что для каждого отсчета компакт-диска используется 2 байта или 16 бит. Это дает каждому образцу диапазон от 0 до 65 535, например:

     0 = 0000000000000000
        1 = 0000000000000001
        2 = 0000000000000010
         ...
    65534 = 1111111111111110
    65535 = 1111111111111111 

    Далее мы рассмотрим один из способов использования байтов.

    8 бит в байт

    Я назвал эту статью «8 бит в байте», потому что люди говорили мне это все время, и я всегда задавался вопросом, что, черт возьми, они имели в виду. Контекст всегда будет касаться размеров жестких дисков или скорости Интернета. Они искренне сказали бы это, ожидая, что они передадут мне большую мудрость, но с таким же успехом они могли бы сказать от 12 гектаров до двух недель на киловатт-час. Для меня это ничего не значило.

    Но примерно через 12 лет, когда люди говорили мне это, я, наконец, отточил навык использования фразы «8 бит в байт» навсегда, а не только для того, чтобы кого-то почувствовать глупо.

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

    • У меня в компьютере накопитель емкостью 1 Терабайт.
    • У моего iPhone 128 гигабайт памяти.
    • Мой Интернет — 10 мегабит в секунду.
    • У меня в ноутбуке 16 гигабайт оперативной памяти.
    • У меня гигабитный Ethernet.

    Похоже, что все они связаны (и они есть), но это немного разные единицы.Когда мы закончим, вы скажете «8 бит в байте», используя лучшие из них, чтобы объяснить их людям. Я должен упомянуть, что вас больше не будут приглашать на вечеринки, но вам придется пойти на такой риск.

    Префиксы SI из Википедии

    Сначала давайте разберемся с Mega, Giga и Tera. Каждый из них является префиксом международной системы единиц. В Википедии есть отличная таблица, которая показывает определение всех префиксов. Мне нравится диаграмма, потому что она показывает год, когда был принят префикс.Дека, гекто и килограмм (1000) были приняты в 1795 году. Только в 1873 году в моду вошла мега, что означает миллион, или 1000 2 . Если продолжить движение вверх по диаграмме, мы увидим гига (1000 3 ) и тера (1000 4 ), которые означают миллиард и триллион (принято в 1960 году). После этого все становится немного сумасшедшим, когда йотта находится на самом верху диаграммы на уровне 1000 8 , утвержденном в 1991 году! В любом случае, все это возведение 1000 в степень называется базой 10.

    Я, возможно, немного увлекся этим и не по теме, но здорово знать, что каждый шаг от килобайта до мегабайта, от гигабайта до терабайта умножен на 1000.Об этом префиксе мы позаботились во всех наших примерах, касающихся скорости Интернета, размеров дисков и оперативной памяти. Но как насчет этой чепухи бит / байт?

    Сначала поговорим о битах. Но прежде чем мы это сделаем, давайте кратко поговорим о заглавных буквах в аббревиатурах. До сих пор я записывал биты и байты такими словами, как мегабиты и терабайты, но обычно они сокращались. При сокращении биты имеют нижний регистр b, а байты — верхний регистр B. Таким образом, Mb (нижний регистр b) означает мегабиты, где TB (верхний регистр B) означает Tera , байты .

    Так что, черт возьми, немного ??? Бит — это основная единица теории информации, которая может принимать значения 1 или 0. Вот и все. Это вся работа по биту, будь то 1 или 0. (Ссылка: wikipedia.org/wiki/Bit) Мы могли бы пройти несколько больших кроличьих нор по бинарной математике, но давайте не только в этот раз.

    Если бит — это единица, равная 1 или 0, то что такое байт? Тебе это понравится. Байт — это единица цифровой информации, которая обычно состоит из… подождите… 8 бит! К счастью, это не произвольное число.На ранних этапах вычислений байт был наименьшим числом битов, используемых для кодирования одного символа текста. Вы не можете создать персонажа с 1 битом, вам нужно их 8 штук. (Ссылка: wikipedia.org/wiki/Byte). Скажи это со мной, 8 бит на байт!

    Так какого черта тебя это вообще волнует? У меня 700 слов, и я не определил проблему, которую нужно решить. Вот пример. Размеры дисков и ОЗУ обычно указываются в байтах, а не в битах. Но скорость Интернета обычно выражается в битах в секунду, а не в байтах.Допустим, мне нужно загрузить файл размером 40 МБ (мегабайт), и у меня скорость Интернета составляет 10 Мбит / с (мегабит в секунду). Сколько времени потребуется, чтобы загрузить мой файл?

    Я не могу разделить 40 на 10, потому что эти два числа находятся в разных единицах измерения. Это все равно что делить футы на метры в секунду и думать, что ответ вообще имеет смысл. Давайте начнем с преобразования файла размером 40 МБ в мегабит (мегабит). Мы знаем, что в байте 8 бит, поэтому можем умножить 40 МБ на 8 бит / байт = 320 МБ. Итак, наш файл имеет размер 320 МБ, и мы хотим передавать его со скоростью 10 МБ / с.Теперь мы можем разделить 320 МБ на наше интернет-соединение со скоростью 10 Мбит / с, и мы знаем, что теоретически потребуется 32 секунды для загрузки файла. За исключением, конечно, того, что битам удается добраться до Плутона и обратно, чтобы получить сервер, так что это всегда занимает больше времени, чем мы думаем.

    Видите? 8 бит в байт — ваш друг!

    Одна из причин, по которой это сбивает с толку, заключается в том, что люди начали говорить: «У меня Gigabit Ethernet». Что ж, в этом нет никакого смысла, не так ли? В Gb нет временной составляющей.Это все равно, что сказать: «Мой расход бензина 32 галлона». Галлонов на что? Это не имеет значения. По какой-то причине, говоря о пропускной способности, обычно используют снижение «в секунду». Если у вас нет времени сказать «в секунду», возможно, вам стоит расслабить свой график.

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

    Гибибайт
    Физика Префиксы NIST для двоичных кратных


    Помните, когда мы забавлялись с единицами СИ, я говорил о том, что каждый прыжок был кратен 1000? Килобайт — это 1000 байт, мегабайт — это 1000 2 , а гигабайт — это 1000 3 ? Хорошо, а что, если вместо того, чтобы выполнять всю эту математику в 1000-х годах, мы начали использовать базу 2 вместо базы 10 для описания этих значений? Под этим я подразумеваю, что, если бы было 2 в степени, а не 10 в степени?

    Мы просто должны отправиться в путешествие к нашим хорошим друзьям из NIST, Национального института стандартов и технологий.И не только NIST, но и Physics.nist.gov, который выводит занудство NIST на совершенно новый уровень. Название страницы, на которую я ссылаюсь, — «Справочник NIST по константам, единицам и неопределенности». Думаю, это лучший титул на свете.

    Наши друзья из NIST объясняют, что в 1998 году Общество ботаников, чья работа состоит в том, чтобы рассердить вас (также известное как Международная электротехническая комиссия), ввело слово Кибибайт, потому что на самом деле люди в компьютерных науках использовали килобайт для обозначения 1024 байтов. 1000 байт.Ботаны NIST объясняют это тем, что «би» в кибибите должно произноситься как длинный звук «е» в английском языке. Это произносится как KiBEEbyte.

    Проблема возникла в двух разных областях информатики; те, кто строит оборудование и память, против тех, кто строит сетевое оборудование и оборудование для хранения. Ботаны памяти использовали базу 2, например. 2 10 или 1024, в то время как сетевые ботаники использовали основание 10, например 10 3 или 1000, и обе группы использовали один и тот же термин: килобайт.Что-то должно было быть сделано!

    Введите кибибайт для 1024 байтов, оставив килобайт для сохранения статуса 1000 байтов. Им также нужно было придумать способ написать эти забавные новые слова, и они решили прижать «i» в кибибите к аббревиатуре, поэтому у нас есть KiB для кибибайта и MiB для мебибайта (также для людей в черном, но это не важно прямо сейчас) и ГиБ для гибибайта.

    Leave a comment