Существует строгая математическая формула, которая переводит число из любой системы счисления в десятичную:
Z = Ai-1·Ni-1 + Ai-2·Ni-2 + ... + A1·N1 + A0·N0,
где Z — число, представленное в десятичной системе счисления;
i — число разрядов числа, представленного в любой системе счисления;
А — коэффициент при весе разряда;
N — основание системы счисления.
Основание системы счисления, возводимое в степень согласно приведенной формуле, и дает вес разряда. Что такое основание системы счисления? Для десятичной системы N = 10, для двоичной N = 2.
Представим число 10248 в двоичной системе. Мы получим следующую запись:
1024810 =101000000010002.
Нижний индекс — «10» и «2», как вы уже наверняка догадались, обозначает основание системы счисления. Проверим, что мы не ошиблись:
10248 = 1·8192 + 0·4096 + 1·2048 + 0·1024 + 0·512 + 0·256 + 0·128 + 0·64 + 0·32 + 0·16 + 1·8 + 0·4 + 0·2 + 0·1.
Убедились? Сделаем очень важный для нас вывод: представленное число в десятичной системе записывается с помощью пяти разрядов, а в двоичной системе оно имеет уже 14 разрядов. Увеличение разрядности, или, как говорят специалисты, разрядной сетки, является платой за уменьшение основания системы счисления. Поэтому запомните: разрядная сетка определяет возможности тех или иных цифровых приборов в части оперирования числами. Максимальное число, которое можно представить в жестко заданной разрядной сетке, определяется так:
Zmax = Ni - 1
Например, максимальное число (Zmax) в десятичной системе счисления с четырехразрядной сеткой (i = 4) — это 9999, а в двоичной системе с той же сеткой — только 15.
Преобразовав десятичное число в набор нулей и единиц, его можно передать по линии связи, сохранить, подвергнуть математическим операциям. Все это проделает электронная схема, построенная по определенным правилам, о которых мы поговорим позже.
Теперь вы знаете, как преобразовать двоичные числа в десятичные, но мы должны овладеть и обратной процедурой — превращением десятичного числа в двоичное. Если в описанной выше процедуре используются операции умножения и последующего сложения, то здесь все построено на делении и последующем вычитании.
Рассмотрим преобразование нашего числа 10248 в двоичное. Схема, отражающая эту процедуру, показана на рис. 14.3.
Рис. 14.3. Пояснение процесса преобразования десятичного числа в двоичное
Вначале число делим на 2, получая частное 5124 и остаток от деления 0, который становится значением разряда с весом 1. Последовательно совершая операции деления, записываем остатки во все разряды.
Разрядная сетка с определенными количествами разрядов в двоичной системе счисления имеет свои названия, которые необходимо запомнить. Одиночная разрядная сетка (один разряд — самая малая единица измерения информации) имеет название — бит. Бит (bit) — происходит от сокращения английского названия binary digit (двоичная цифра). Четыре бита составляют тетраду. Две тетрады — байт, два байта — слово, два слова — двойное слово. Наиболее часто в цифровой технике встречаются байты (8 бит) и слова (16 бит). Еще в цифровой технике вы встретитесь с такими устоявшимися понятиями, как килобит, килобайт, мегабайт. Читатель вполне резонно может предположить, что килобайт — это тысяча байт, а мегабайт — тысяча килобайт. И будет совершенно прав! Но есть также и Кбайт — это 210 байт, то есть 1024 байта. Соответственно Мбайт — 1024 Кбайт, или 1048576 байт. Путаница, однако…
Почему так вышло, что привычные приставки, использующиеся в десятичной системе счисления, в двоичной приобрели несколько иной смысл?
Дело в том, что на заре развития цифровой техники для обозначения 210 байт был выбрана буква «К» — Кбайт, и чуть позже к ней добавили десятичное «кило», хотя, добавляя эту приставку, никто не обращал внимания на двусмысленность ситуации. Затем появились приставки М, Г… Впрочем, если бы ситуация ограничилась только этой несуразицей, ничего страшного бы не произошло. Но в ходу появились и настоящие «килобайты», «мегабайты» и «гигабайты», в которых, например, приставка «кило» обозначает ровно 1000 байт. Кто стал использовать эту чисто «десятичную» терминологию? Производители и продавцы компьютерных комплектующих — в рекламных целях. Например, покупатель приобрел для компьютера жесткий диск размером 50 Гб — в «десятичных» единицах измерения. Реально — в двоичных — его объем составит 46,5 ГБ. Из-за путаницы в терминологии «обвес» составит 3,5 двоичного ГБ — порядочную цифру, близкую к 10 %. С точки зрения рекламиста, цифра 50 смотрится гораздо весомее, чем 46,5. Субъективно эти 46,5 тяготеют более к 40, нежели чем к 50.
Чтобы навести порядок с терминологией, Международная электротехническая комиссия (МЭК) в марте 1999 г. предложила для двоичных производных величин новые названия — кибибайт, мебибайт, гибибайт, оставив за десятичными производными приставки «кило», «мега», «гига». Приставка би- происходит от слова «бинарный» — «двоичный». В ноябре 2000 года эти предложения были официально закреплены в Международном стандарте 1ЕС 60027-2 (2000-II), касающемся наименований и обозначений физических величин…
Но это нововведение приживается плохо — исключительно из-за неблагозвучности и трудности произношения новых величин. Как будут развиваться события дальше, покажет время. В табл. 14.1 мы приводим всю необходимую терминологию.
Поговорим теперь о шестнадцатиричной системе счисления, которая тоже довольно часто используется в цифровой технике. Основание этой системы — 16, а в качестве символов используются цифры от 0 до 9 и буквы А, В, С, D, Е, F (буквами указываются числа 10, 11, 12, 13, 14, 15 соответственно). Эта система удобна для наглядного представления больших объемов двоичных чисел.
Интересные свойства шестнадцатиричных чисел связаны с тем, что тетрадой бит можно задать эти самые 16 чисел. Поэтому даже слово, в двоичном виде записывающееся в виде цепочки из 16 бит, в шестнадцатиричной системе предстает в виде 4-х знаков. В табл. 14.2 показано соответствие трех систем счисления, встречающихся в цифровой технике.
Мы уже говорили о том, как различать числа с разными основаниями. Запомните также, что числа 1010, 102 и 1016 не равны друг другу! Преобразовывать шестнадцатиричные числа в десятичные тоже очень просто — достаточно вычислить «вес» разрядов и просуммировать по всем разрядам полученные произведения.
Основное преимущество шестнадцатиричной системы заключается в том, что для представления чисел и операций с ними требуется меньшее количество позиций значащих цифр, однако эта система более удобна для работы с двоичной арифметикой, чем десятичная. Показать все преимущества работы с шестнадцатиричным представлением чисел простым рассказом о достоинствах и недостатках довольно сложно. Когда читатель столкнется с двоичной арифметикой в практических конструкциях, он на собственном опыте все поймет. Пока же рекомендуем просто запомнить о такой возможности.
А теперь пусть читатель задаст себе вопрос: умеет ли он складывать и вычитать десятичные числа «в столбик»? Ну конечно же умеет — эти знания приобретены в начальной школе! Но как работать с двоичными числами при необходимости сложить их или вычесть одно из другого? Точно так же, по тем же правилам, приведенным на рис. 14.4 для операций сложения и вычитания.