Carder
Professional
- Messages
- 2,619
- Reaction score
- 1,920
- Points
- 113

Случайные красочные двоичные числа!
Если вы использовали компьютер более пяти минут, значит, вы слышали слова «биты» и «байты». Емкость ОЗУ и жесткого диска измеряется в байтах, как и размеры файлов при их просмотре в программе просмотра файлов.
Вы можете услышать рекламу, которая гласит: «Этот компьютер оснащен 32-разрядным процессором Pentium с 64 мегабайтами оперативной памяти и 2,1 гигабайта на жестком диске». И многие статьи Carder.uk говорят о байтах (например, Как работают компакт-диски). В этой статье мы обсудим биты и байты, чтобы вы имели полное представление.
Десятичные числа
Самый простой способ понять биты - сравнить их с тем, что вы знаете: цифрами . Цифра - это отдельное место, которое может содержать числовые значения от 0 до 9. Цифры обычно объединяются в группы для создания более крупных чисел. Например, 6,357 состоит из четырех цифр. Понятно, что в числе 6,357 цифра 7 заполняет «место единиц», в то время как 5 - место десятков, 3 - место 100, а 6 - место 1000. Итак, вы могли бы выразить вещи так, если бы хотели быть явными:(6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6000 + 300 + 50 + 7 = 6357
Другой способ выразить это - использовать степень 10 . Предполагая, что мы собираемся представить понятие «возведенное в степень» с помощью символа «^» (поэтому «10 в квадрате» записывается как «10 ^ 2»), другой способ выразить это так:
(6 * 10 ^ 3) + (3 * 10 ^ 2) + (5 * 10 ^ 1) + (7 * 10 ^ 0) = 6000 + 300 + 50 + 7 = 6357
Из этого выражения вы можете видеть, что каждая цифра является заполнителем для следующей более высокой степени 10, начиная с первой цифры с 10, возведенной в степень нуля.
Все это должно быть довольно комфортно - мы работаем с десятичными цифрами каждый день. В системах счисления замечательно то, что нет ничего, что заставляло бы вас иметь 10 разных значений в цифре. Наша система счисления с основанием 10, вероятно, выросла из-за того, что у нас 10 пальцев, но если бы мы эволюционировали до восьми пальцев, мы, вероятно, имели бы систему счисления с основанием 8. Вы можете использовать любую систему счисления. На самом деле, есть много веских причин использовать разные базы в разных ситуациях.
Компьютеры работают в системе счисления с основанием 2, также известной как двоичная система счисления (точно так же, как система счисления с основанием 10 известна как десятичная система счисления). Узнайте, почему и как это работает, дальше.
Система Base-2 и 8-битный байт
Причина, по которой компьютеры используют систему base-2, заключается в том, что она значительно упрощает их реализацию с помощью современных электронных технологий. Вы можете подключить и построить компьютеры, которые работают по системе base-10, но сейчас они будут чертовски дорогими. С другой стороны, компьютеры base-2 относительно дешевы.Таким образом, компьютеры используют двоичные числа и, следовательно, используют двоичные цифры вместо десятичных. Слово бит является сокращением слов «двоичная цифраIT». В то время как десятичные цифры имеют 10 возможных значений в диапазоне от 0 до 9, биты имеют только два возможных значения: 0 и 1. Таким образом, двоичное число состоит только из нулей и единиц, например: 1011. Как определить, какое значение двоичного числа 1011 есть? Вы делаете это так же, как мы делали это выше для 6357, но вы используете основание 2 вместо основания 10. Итак:
(1 * 2 ^ 3) + (0 * 2 ^ 2) + (1 * 2 ^ 1) + (1 * 2 ^ 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
Далее мы рассмотрим один из способов использования байтов.
Стандартный набор символов ASCII
Байты часто используются для хранения отдельных символов в текстовом документе. В наборе символов ASCII каждому двоичному значению от 0 до 127 присваивается определенный символ. Большинство компьютеров расширяют набор символов ASCII для использования всего диапазона 256 символов, доступных в байте. Верхние 128 символов обрабатывают специальные вещи, такие как символы с диакритическими знаками из распространенных иностранных языков.Вы можете увидеть 127 стандартных кодов ASCII ниже. Компьютеры хранят текстовые документы как на диске, так и в памяти, используя эти коды. Например, если вы используете Блокнот в Windows 95/98 для создания текстового файла, содержащего слова «Четыре очка и семь лет назад», Блокнот будет использовать 1 байт памяти на символ (включая 1 байт для каждого символа пробела между словами - символ ASCII 32). Когда Блокнот сохраняет предложение в файле на диске, файл также будет содержать 1 байт на символ и на пробел.
Попробуйте этот эксперимент: откройте новый файл в Блокноте и вставьте в него предложение «Четыре очка и семь лет назад». Сохраните файл на диск под именем getty.txt . Затем воспользуйтесь проводником и посмотрите размер файла. Вы обнаружите, что размер файла на диске составляет 30 байт: по 1 байту на каждый символ. Если вы добавите еще одно слово в конец предложения и повторно сохраните его, размер файла увеличится до соответствующего количества байтов. Каждый символ занимает байт.
Если бы вы посмотрели на файл так, как на него смотрит компьютер, вы бы обнаружили, что каждый байт содержит не букву, а число - число - это код ASCII, соответствующий символу.
На диске номера файлов выглядят так:
70 111 117 114 32 97 110 100 32 115 101 118 101 110
Посмотрев в таблицу ASCII, вы можете увидеть взаимно однозначное соответствие между каждым символом и используемым кодом ASCII. Обратите внимание на использование 32 для пробела - 32 - это код ASCII для пробела. Мы могли бы преобразовать эти десятичные числа в двоичные числа (так 32 = 00100000), если бы мы хотели быть технически правильными - именно так компьютер действительно справляется с вещами.
Первые 32 значения (от 0 до 31) - это коды для таких вещей, как возврат каретки и перевод строки. Пробел - это 33-е значение, за которым следуют знаки препинания, цифры, символы верхнего и нижнего регистра. Чтобы увидеть все 127 значений, посмотрите таблицу Unicode.org.
Далее мы узнаем о байтовых префиксах и двоичной математике.
Байтовые префиксы и двоичная математика
Когда вы начинаете говорить о большом количестве байтов, вы попадаете в префиксы, такие как килобайт, мегабайт и гигабайт, как в килобайтах, мегабайтах и гигабайтах (также сокращенных до K, M и G, как в килобайтах, мегабайтах и гигабайтах или килобайтах, мегабайтах и гигабайтах. ). В следующей таблице показаны двоичные множители:
Code:
Кило (K)
2 ^ 10 = 1,024
Мега (М)
2 ^ 20 = 1,048,576
Гига (G)
2 ^ 30 = 1,073,741,824
Тера (т)
2 ^ 40 = 1,099,511,627,776
Пета (P)
2 ^ 50 = 1,125,899,906,842,624
Exa (E)
2 ^ 60 = 1,152,921,504,606,846,976
Зетта (Z)
2 ^ 70 = 1,180,591,620,717,411,303,424
Йотта (Y)
2 ^ 80 = 1,208,925,819,614,629,174,706,176
Вы можете видеть на этой диаграмме, что килограмм - это около тысячи, мега - около миллиона, гига - около миллиарда и т.д. Поэтому, когда кто-то говорит: «Этот компьютер имеет жесткий диск на 2 ГБ», он имеет в виду, что на жестком диске хранится 2 ГБ, или примерно 2 миллиарда байтов, или ровно 2147 483 648 байтов. Как вам вообще может понадобиться 2 гигабайта места? Если учесть, что один компакт-диск вмещает 650 мегабайт, можно увидеть, что всего три компакт-диска с данными заполнят все! В наши дни терабайтные базы данных довольно распространены, и сейчас, вероятно, вокруг Пентагона плавает несколько петабайтных баз данных.
Двоичная математика работает так же, как десятичная математика, за исключением того, что значение каждого бита может быть только 0 или 1 . Чтобы получить представление о двоичной математике, давайте начнем с десятичного сложения и посмотрим, как это работает. Предположим, мы хотим сложить 452 и 751:
452
+ 751
---
1203
Чтобы сложить эти два числа вместе, вы начинаете справа: 2 + 1 = 3. Нет проблем. Затем 5 + 5 = 10, поэтому вы сохраняете ноль и переносите 1 на следующее место. Затем 4 + 7 + 1 (из-за переноса) = 12, поэтому вы сохраняете 2 и несете 1. Наконец, 0 + 0 + 1 = 1. Итак, ответ - 1203.
Бинарное сложение работает точно так же:
010
+ 111
---
1001
Начиная справа, 0 + 1 = 1 для первой цифры. Не таскать туда. У вас есть 1 + 1 = 10 для второй цифры, поэтому сохраните 0 и перенесите 1. Для третьей цифры 0 + 1 + 1 = 10, поэтому сохраните ноль и перенесите 1. Для последней цифры 0 + 0 + 1 = 1. Итак, ответ - 1001. Если вы переведете все в десятичные числа, то увидите, что это правильно: 2 + 7 = 9.
Чтобы увидеть, как логическое сложение реализуется с помощью вентилей, см. Как работает логическая логика.
Подводя итог, вот что мы узнали о битах и байтах:
- Биты - это двоичные цифры. Бит может содержать значение 0 или 1.
- Байты состоят из 8 бит каждый.
- Двоичная математика работает так же, как десятичная, но каждый бит может иметь значение только 0 или 1.
Для получения дополнительной информации о битах, байтах и связанных темах перейдите по ссылкам ниже.