Найти в Дзене
Компьютерная наука

Компьютерный Бог любит Двоицу

В обычной жизни мы привыкли пользоваться десятичной системой счисления. Ее алфавит состоит из десяти цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Собирая цифры вместе согласно определенным правилам, мы получаем слова-числа, например, 500 и 9210. Аналогично мы пользуемся буквенным алфавитом и словами, собранными из этих букв. Потому что людям понятнее слова. Мы могли бы обозначать понятия числами, но воспринимать их было бы для нас слишком сложно. Однако при желании всегда можно закодировать слова числами. На самом деле числами кодируются буквы. В самом примитивном варианте букву А можно закодировать числом 1, букву Б - числом 2 и так далее. Тогда слог БА можно записать как 21. Вычислительная техника на то и вычислительная, что все сущее (тексты, графика) в ней кодируется числами. Только числами она оперирует и только числа она хранит. Мало того. При кодировке используется вовсе не десятичная система счисления, а двоичная, алфавит которой состоит всего из двух цифр - 0 и 1. Так если букву В зако

В обычной жизни мы привыкли пользоваться десятичной системой счисления. Ее алфавит состоит из десяти цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Собирая цифры вместе согласно определенным правилам, мы получаем слова-числа, например, 500 и 9210.

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

Однако при желании всегда можно закодировать слова числами. На самом деле числами кодируются буквы. В самом примитивном варианте букву А можно закодировать числом 1, букву Б - числом 2 и так далее. Тогда слог БА можно записать как 21.

Вычислительная техника на то и вычислительная, что все сущее (тексты, графика) в ней кодируется числами. Только числами она оперирует и только числа она хранит.

Мало того. При кодировке используется вовсе не десятичная система счисления, а двоичная, алфавит которой состоит всего из двух цифр - 0 и 1. Так если букву В закодировать десятичным числом 3, то в компьютерной памяти это будет записано как 11. Потому что 11 в двоичной системе счисления соответствует числу 3 в десятичной.

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

На самом деле среди ранних компьютеров были такие, которые использовали десятичную систему. Однако такие машины проблемные с точки зрения изготовления. Приходилось создавать электронные и механические компоненты, которые могли находиться в 10-ти состояниях.

То ли дело изготовить ячейку памяти, которая может находиться всего в двух состояниях - есть напряжение или нет. Первому состоянию поставить в соответствие 1, второму - 0.

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