Системы счисления и действия в них
Причины, по которым именно десятичная система оказалась общепринятой, совсем не математического характера. Десять пальцев рук - вот тот первоначальный аппарат для счета, которым человек пользовался, начиная с доисторических времен. По пальцам удобно считать от одного до десяти. Сосчитав до десяти, т.е. использовав до конца возможности нашего природного «счетного аппарата», естественно принять само число 10 за новую, более крупную единицу (единицу следующего разряда). Десять десятков составляют единицу третьего разряда и т. д. Таким образом, именно счет по пальцам рук положил начало той системе, которая кажется нам сейчас чем-то само собой разумеющимся.
Десятичная система счисления далеко не сразу заняла то господствующее положение, которое она имеет сейчас. В разные исторические периоды многие народы пользовались системами счисления, отличными от десятичной.
Несомненные остатки двенадцатеричной системы счисления имеются у англичан: и в системе мер (например, 1 фут=12 дюймам) и в денежной системе (1 шиллинг=12 пенсам)
С математической точки зрения, двенадцатеричная система имеет некоторые преимущества, по сравнению с десятичной, поскольку число 12 делится на 2, 3, 4 и 6, а число 10 только на 2 и 5. Больший запас делителей у числа, служащего основанием системы счисления, создает известные удобства в ее использовании.
Если мы производим вычисления вручную, то числа при этом пишутся карандашом или чернилами на бумаге. Для машины, однако, нужен какой-то иной способ фиксации тех чисел, с которыми она оперирует.
Все вычисления в цифровых вычислительных машинах производятся над конечными числами и с ограниченной точностью, определяемой разрядностью представления дискретных чисел. Цифровая информация, как правило, представляется при помощи электрических процессов, для которых характерны два состояния (например, включено/выключено, высокий/низкий уровень сигнала, ток есть/тока нет). Каждое такое состояние указывает на равенство значения двоичной переменной нулю или единице.
Для радиоэлектронных элементов (радиоламп, полупроводниковых элементов), которые в основном используются в вычислительных машинах, характерно наличие двух устойчивых состояний. Например, электронная лампа может быть «отперта» (тогда через нее идет ток) или «заперта» (ток через нее не проходит). По тому же принципу «да» или «нет» работают полупроводниковые элементы, которые сейчас уже полностью вытеснили радиолампы из вычислительной техники. Эти свойства радиоэлектронных элементов и служат основной причиной того, что именно двоичная система оказалась наиболее удобной для вычислительных машин.
Исходные данные для решения той или иной задачи даются обычно в общепринятой десятичной системе. Поэтому, чтобы машина, основанная на двоичной системе, могла обрабатывать эти данные, они должны быть переведены на «понятный» арифметическому устройству машины язык двоичного кода. Такой перевод легко, конечно, осуществлять и автоматически. Результаты машинного счета желательно иметь записанными снова в десятичной системе. Поэтому обычно в вычислительной машине бывает предусмотрен автоматический перевод результатов, полученных в двоичной системе, в десятичную систему.
Для оценки пригодности той или иной системы счисления в качестве основы для конструирования вычислительной машины имеет значение простота осуществления арифметических операций в ней.
Цифровой компьютер — это машина, которая может решать задачи, выполняя данные ей команды. Последовательность команд, описывающих решение определенной задачи, называется программой. Электронные схемы каждого компьютера могут распознавать и выполнять ограниченный набор простых команд. Все программы перед выполнением должны быть превращены в последовательность таких команд, которые обычно не сложнее чем:
сложить 2 числа;
проверить, не является ли число нулем;
скопировать фрагмент данных из одной части памяти компьютера в другую;
операция умножения чисел выполняется комбинацией операций сложения и сдвига (аналогично привычному умножению «в столбик»).
Такие примитивные команды в совокупности составляют язык, на котором люди могут общаться с компьютером. Такой язык называется машинным языком(или языком низкого уровня). Разработчик при создании нового компьютера должен решать, какие команды включить в машинный язык этого компьютера. Это зависит от назначения компьютера, от того, какие задачи он должен выполнять. Обычно стараются сделать машинные команды как можно проще, чтобы избежать сложностей при конструировании компьютера и снизить затраты на необходимую электронику. Так как большинство машинных языков очень примитивны, использовать их трудно и утомительно.
Алфавит Х из р символов и правила записи (изображения) и обработки чисел с помощью символов этого алфавита называются системой счисления(нумерацией) с основанием р. Число х всистемес основанием р обозначается как (х)рили хр.
Любая системасчисления– этосистемакодирования числовых величин (количеств), позволяющая выполнять операции кодирования и декодирования, то есть по любой количественной величине однозначно находить его кодовое представление и по любой кодовой записи – восстанавливать соответствующую ей числовую величину.
Все системысчислениястроятся по общему принципу: определяется величина р – основаниесистемы, а любое число х записывается в виде комбинации степеней веса р от 0-й до n-й степени следующим образом:
(x)10 = xnpn+ xn–1pn–1+ ... + x1p1+ x0p0 .
Наиболее используемые в информатике системысчисления, кроме, естественно, десятичной, – это: 1) двоичная, над алфавитом Х = {0,1}; 2) восьмеричная, над Х = {0, 1, 2, 3, 4, 5, 6, 7}; 3) шестнадцатеричная, над Х = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F}, где символы А, В, С, D, Е, F имеют, соответственно, десятичные веса 10, 11, 12, 13, 14, 15.
Пример.11012 = 1 * 23+ 1 * 22 + 0 * 21+ 1 * 20= 8 + 4 + 1 = 1310 ,
1578 = 1 * 82+ 5 * 81+ 7 * 80= 64 + 40 + 7 = 11110 ,
A6F16 = 10 * 256 + 6 * 16 + 15 * 1 = 267110 .
В большинствесистемсчислениявес цифры (или символа алфавита) зависит от ее места в записи числа или слова. Такаясистема счисленияназывается позиционной ; в противном случаесистеманазываетсянепозиционной.
Пример.Непозиционная система– древняя римскаясистемазаписи чисел с алфавитом вида Х={I (1), V (5), Х (10), L (50), С (100), D (500), М (1000)}, где в скобках указаны веса символов (не зависящие от позиции символа). Примеры римских чисел (в скобках – обычные десятичные эквиваленты): III (3), IV (4), V (5), VI (6), IX (9), XI (11), DCL (650). Запись числа в этойсистемеполучается двусторонней конкатенацией, причем правая конкатенация ассоциируется с добавлением, а левая конкатенация – с убавлением (например, IV и VI). Поразрядное же выполнение арифметических операций не имеет места (например, XIV + IV не равно XVIII ).
Для изображения десятичных дробей используется подобная формула разложения по степеням основания.
Пример. 110,0012 = 1*22 + 1 * 21 + 0 * 20 + 0 * 2-1 + 0 * 2-2 + 1 * 2-3 = 6,12510;
A,B16 = A * 160 + B * 16-1 = 10 * 1 + 11 * 0,0625 = 10,687510 .
Процедура переводадесятичных чисел в р-нуюсистемусчисления:
перевести отдельно целую часть числа х, для чего последовательно делить сперва целую часть [х]10, а затем все частные (получаемые при делении) на р до тех пор, пока не получим в очередном частном число меньшее р; изображение [х]pполучается последовательным приписыванием к последнему частному остатков от деления – от последнего до первого;
перевести отдельно дробную часть (мантиссу) числа, то есть {x}10, для чего последовательно умножать сперва исходную мантиссу, а затем мантиссы получаемых чисел на р до тех пор, пока не получим мантиссу, равную нулю, или нужное количество цифр в {х}p; изображение {х}pполучается приписыванием к целой части первого произведения второй такой же цифры и т.д., до последней цифры целой части;
результат будет иметь вид (х)р= [х]p, {х}p.
Пример.Найти: 12,810 = ?2 . Решение:
Переводим целую часть: 1210=11002;
переводим дробную часть: 0,8 *x 2 = 1,6; 0,6 *x 2 = 1,2; 0,2 *x 2 = 0,4; 0,4 *x 2 = 0,8; 0,810 = 0,1100110...2 ;
результат перевода: 12,810 = 1100,1100110011...2 .
Пример.Найдем 29,2510 = ?8 . Решение имеет вид 1) 2910 = 358 ; 2) 0,2510 = 0,28 ; 3) 29,2510 = 35,28 .
Пример.Найдем 79,2610 = ?16 . Решение: 1) 7910 = 4F16 ; 2) 0,2610 = 0,4016 ; 3) 79,2610 = 4F,416 . Припереводедробной части мы ограничились нахождением двух значащих цифр после запятой, ибопереводточно сделать невозможно.
Для переводаиз 2-ной в 8-ную и наоборот, из 2-ной в 16-ную и наоборот, из 8-ной в 16-ную и обратно, используется таблица следующего вида:
ОСНОВАНИЕ СИСТЕМЫ | ||||
10 | 2 | 8 | 16 | 16(0-F) |
0 | 0 | 000 | 0000 | 0 |
1 | 1 | 001 | 0001 | 1 |
2 | — | 010 | 0010 | 2 |
3 | — | 011 | 0011 | 3 |
4 | — | 100 | 0100 | 4 |
5 | — | 101 | 0101 | 5 |
6 | — | 110 | 0110 | 6 |
7 | — | 111 | 0111 | 7 |
8 | — | — | 1000 | 8 |
9 | — | — | 1001 | 9 |
10 | — | — | 1010 | A |
11 | — | — | 1011 | B |
12 | — | — | 1100 | C |
13 | — | — | 1101 | D |
14 | — | — | 1110 | E |
15 | — | — | 1111 | F |
При переводев 8-нуюсистемуили из нее необходимо группировать в тройки биты, а припереводев 16-ную или из нее – группировать их в четверки битов. Можно добавлять, если нужно, незначащие нули (слева от целой части и справа от мантиссы) или отбрасывать их.
Пример.Рассмотримпереводыв смешанныхсистемах.
Из 2-ной системыв 8-ную (двоично-восьмеричное изображение):
из 8-ной системыв 2–ную (восьмерично-двоичное изображение):
из 2-ной системыв 16-ную (двоично-шестнадцатеричное изображение):
из 16-ной системыв 2-ную (шестнадцатерично-двоичное изображение):
Сложение в двоичной системесчисленияосуществляется по правилам
0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 210= 102(единица идет в старший разряд).
Таблица вычитания в двоичной системесчисленияимеет вид
0 – 0 = 0, 1 – 0 = 1, 1 – 1 = 0, 0 – 1 = 10 – 1 = 1 (единицу забираем у старшего разряда).
Таблица умножения в двоичной системесчисленияимеет вид
0 * 0 = 0, 0 * 1 = 0, 1 * 0 = 0, 1 * 1 = 1.
Таблица деления в двоичной системесчисленияимеет вид
0 : 0 = не определено, 1 : 0 = не определено, 0 : 1 = 0, 1 : 1 = 1.
Обратным кодомчисла всистемес основанием р называется число в этойсистеме, получаемое заменой цифры, символа в каждом разряде числа на его дополнение до максимальной цифры всистеме(то есть до р – 1).
Дополнительный код=обратный код+ единица в младшем разряде.
Пример.
10011 двоичное число,
01100 обратный кодэтого двоичного числа,
01101 дополнительный кодэтого двоичного числа;
457 восьмеричное число,
321 дополнительный код;
А9 шестнадцатеричное число,
57 дополнительный код.
Вычитание с помощью дополнительного кода: найтидополнительный кодвычитаемого такой же разрядности, как и уменьшаемое, и сложить этот код с уменьшаемым. Результатом вычитания будет полученная сумма без учета старшего разряда (отбрасывается).
Пример.Выполним вычитание напрямую и через сложение (черездополнительный код):
- История, предмет, структура информатики
- Информация, ее представление и измерение
- Основные процессы преобразования информации
- Данные, их типы, структуры и обработка
- Системы счисления и действия в них
- Числа конечной точности.
- Виды компьютерной информации
- Текстовая информация
- Звуковая и видеоинформация
- Технические средства реализации информационных процессов
- Из истории развития вычислительной техники
- Архитектура фон Неймана
- Персональные компьютеры
- Классификация компьютеров
- Программные средства реализации информационных процессов
- Базовое программное обеспечение (по).
- Прикладное программное обеспечение.
- Операционные системы
- Инструментальные системы
- Инструментарий решения функциональных задач
- Базы данных
- Хранилища данных
- Базы знаний и экспертные системы.
- Автоматизированные рабочие места
- Компьютерный офис
- Технология «Рабочая группа»
- Технология «Клиент-сервер»
- Гипертекстовые технологии.
- Технологии виртуальной реальности.
- Алгоритмизация.
- Базовые алгоритмические конструкции
- Языки программирования
- Основные компоненты алгоритмического языка:
- Программирование
- Методы разработки и анализа алгоритмов
- Общие сведенья о компьютерных сетях
- Основные программные и аппаратные компоненты сети.
- Классификация информационно-компьютерных сетей
- Топология сети
- Дисциплина обслуживания компьютерных сетей
- Адресация компьютеров в компьютерной сети.
- Сетевое оборудование
- Программное обеспечение компьютерных сетей
- Глобальная компьютерная сеть Интернет
- Доменная система имен и указатели ресурсов
- Серверы, клиенты и протоколы
- Всемирная Паутина
- Навигация.
- Электронная почта
- Служба новостей
- Другие службы Интернета
- Компьютерные преступления и средства защиты информации
- 3. Преступная небрежность в разработке, изготовлении и эксплуатации программно-вычислительных комплексов, приведшая к тяжким последствиям.
- 4. Подделка компьютерной информации.
- 5. Хищение компьютерной информации.
- Защита данных, защита информации
- Правовые аспекты защиты информации
- Кодирование и шифрование информации
- Компьютерные вирусы и антивирусные программы
- Защита от компьютерных вирусов
- Глоссарий