Все мы привыкли к десятеричной системе исчисления, и многие люди даже не догадываются, что для цифровых устройств такая система неприменима. Ваш компьютер оперирует числами так же, как и человек, однако систему исчисления использует двоичную. Что это значит и зачем такие сложности?
tsar slowpoke
|
Во всем мире люди используют так называемую «позиционную» систему: значение цифры в составе числа зависит от ее позиции. Это значит, что стоящие вместе цифры 1, 4 и 2 вместе будут составлять число сто сорок два, но если поменять эти цифры местами, мы получим совершенно другое число. Каждое из знаков в составе числа имеет свой разряд, поэтому мы легко читаем написанное число и определяем его величину.
Но позиционная система построения чисел не всегда была такой, какой мы привыкли его видеть. Например, цифра ноль придумана уже после того, как был изобретен основной ряд чисел. А до тех пор числа складывались иначе.
Римские цифры использовали повторительные символы для записи нового числа. Например, число 10 выглядит как X, 30 – ХХХ, а 1123 в римской записи выглядит как MCXXIII.
Как считает компьютер?
В компьютере используется элементарная двоичная система исчисления: числа складываются только из двух знаков – нуля и единицы. Это связано в первую очередь с внутренним строением компьютера. Внутри процессора находятся миллионы транзисторов, которые по своим техническим особенностям имеют два состояния: включен (ток свободно протекает) или выключен (ток не течет).
Различия между двоичной, десятичной и шестнадцатеричной системой
Двоичная система
Компьютеры не могут использовать обычную человеческую систему исчисления, так как один транзистор не может иметь десять различных состояний. Технически это не реализуемо, даже добиться третьего (полувключенного) и прочих промежуточных состояний от транзистора очень сложно. Для этого надо заставить транзистор работать на высоких частотах без сбоев.
С двоичной системой микроэлектроника справляется успешно. Компьютер оперирует только нулями и единицами. Каждая переключаемая ячейка (транзистор) именуется битом. Современные компьютеры имеют стандартный кластер в 1 байт, что равняется восьми битам (2 в степени 8), его максимальное значение равняется 256 знакам вместе с нулем:
- 1 бит - один разряд и два значения (от 0 до 1);
- 4 бита – четыре разряда и 16 значений (от 0000 до 1111)
- 8 бит - восемь разрядов и двести пятьдесят шесть значений (от 00000000 до 11111111).
1 бит – это минимальная единица для цифровых устройств.
Компьютер считывает число в двоичной форме, а потом преобразует его в удобный для человека вид. На картинке ниже представлено число «142» в двоичной системе.
Шестнадцатеричная система
Эта система отличается от привычной десятичной и двоичной количеством знаков в разряде. Тут используется числовой ряд от 0 до 15, где в диапазоне от десяти до пятнадцати в роли чисел выступают латинские буквы.
(
Этот формат используется в программировании для простой записи одного байта информации, а также в веб-дизайне, например, для кодирования палитры цветов. Вместо длинной двоичной записи в восемь знаков используются всего лишь два разряда. Максимальное двухразрядное значение этой системы можно представить в виде FF, что равняется 1111 1111 в двоичном или 255 в десятичном виде.
Иногда перед значением можно увидеть префикс 0х, означающий, что следующее число следует интерпретировать, как шестнадцатеричное: 0х8E – число 142 в десятичной форме.
Так все-таки зачем такие сложности?
Конечно, для любого человека предпочтительнее использовать одну систему исчисления в различных сферах. Но увы, в цифровом мире это неприменимо: привычная десятичная система проста, но компьютер аппаратно ее не понимает, а двоичную систему читать невозможно. Шестнадцатеричная система делает код несколько более читаемым, но только для просвещенных, умеющих использовать HEX-редакторы.
Поэтому шестнадцатеричная система является неким переходным состоянием между машинным кодом и удобочитаемым кодом для человека.