Слайд 108/12/2019
ИМИКТ
ВВЕДЕНИЕ В
ИНФОРМАТИКУ
Лекция 3
Системы счисления
1 курс, 1 семестр
Слайд 208/12/2019
ИМИКТ
Содержание
Системы счисления
Позиционные системы счисления
Двоичная система счисления
Перевод из одной системы счисления
в другую
Кодирование информации
Слайд 308/12/2019
ИМИКТ
Система счисления
Система счисления — способ записи чисел с помощью заданного
набора специальных символов (цифр) и сопоставления этим записям реальных значений.
Все системы счисления можно разделить на непозиционные и позиционные. В непозиционных системах счисления, которые появились значительно раньше позиционных, смысл каждого символа не зависит от того места, на котором он стоит.
Слайд 408/12/2019
ИМИКТ
Непозиционная система счисления
Примером такой системы счисления является римская, в которой
для записи чисел используются буквы латинского алфавита. При этом буква
I всегда означает единицу, буква — V пять, X — десять, L — пятьдесят, C — сто, D — пятьсот, M — тысячу и т.д. Например, число 264 записывается в виде CCLXIV.
Слайд 508/12/2019
ИМИКТ
Непозиционная система счисления
Недостатком непозиционных систем является отсутствие формальных правил записи
чисел и, соответственно, арифметических действий с многозначными числами. Правила выполнения
вычислений с многозначными числами в позиционной системе счисления были разработаны средневековым математиком Мухамедом аль-Хорезми и в Европе были названы алгоритмами (от латинского написания имени аль-Хорезми – Algorithmi).
Слайд 608/12/2019
ИМИКТ
Позиционная система счисления
В вычислительной технике применяются позиционные системы счисления. Позиционных
систем счисления существует множество и отличаются они друг от друга
алфавитом — множеством используемых цифр. Размер алфавита (число цифр в нем) называется основанием системы счисления.
Слайд 708/12/2019
ИМИКТ
Позиционная система счисления
Последовательная запись символов алфавита (цифр) изображает число. Позиция
символа в изображении числа называется разрядом. Разряду с номером 0
соответствует младший разряд целой части числа. Каждому символу соответствует определенное число, которое меньше основания системы счисления. В зависимости от позиции (разряда) числа значение символа умножается на степень основания, показатель которой равен номеру разряда.
Слайд 808/12/2019
ИМИКТ
Позиционная система счисления
Таким образом, целое положительное число А в позиционной
системе счисления можно представить выражением:
(1)
или , где p
— основание системы счисления, целое положительное число; a — cимвол (цифра); n — номер старшего разряда числа.
Слайд 908/12/2019
ИМИКТ
Позиционная система счисления
Обозначения цифр берутся из алфавита, который содержит p
символов. Каждой цифре соответствует определенный количественный эквивалент. Обозначение ak следует
понимать как цифру в k-м разряде. Всегда выполняется неравенство: ak
Запись A(p) указывает, что число А представлено в системе счисления с основанием р:
(2)
Слайд 1008/12/2019
ИМИКТ
Позиционная система счисления
Примером системы счисления является всем нам хорошо известная
десятичная система счисления. Любое число в ней записывается с помощью
цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Важно, что значение каждой цифры зависит от того места, на котором она стоит в этой записи. Например, 1575: цифра 5 в записи числа встречается дважды: цифра 5 в последнем разряде — число единиц, а цифра 5, находящаяся в записи числа левее, — число сотен.
Слайд 1108/12/2019
ИМИКТ
Двоичная система счисления
Двоичная система счисления имеет набор цифр {0, 1},
р=2.
В общем виде, используя формулу (1), двоичное число можно
представить выражением:
(3)
Например, число 101101(2) можно записать так:
101101(2) = 1*25+0*24+1*23+1*22+0*21+1*20
Слайд 1208/12/2019
ИМИКТ
Шестнадцатеричная
система счисления
Шестнадцатеричная система счисления имеет набор цифр {0, 1,
2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, F}, p = 16.
Для изображения чисел в шестнадцатеричной системе счисления требуются 16 цифр. Для обозначения первых десяти цифр используются цифры десятичной системы счисления, шесть остальных — первых шесть прописных букв латинского алфавита. По формуле (1) шестнадцатеричное число может быть представлено так:
(4)
Слайд 1308/12/2019
ИМИКТ
Шестнадцатеричная
система счисления
Например, число E7F8140 по формуле (4) запишется так:
Представление информации, хранящейся в памяти компьютера, в ее истинном двоичном
виде весьма громоздко из-за большого количества цифр. Поэтому при записи такой информации на бумаге или выводе ее на экран принято использовать восьмеричную или шестнадцатеричную системы счисления. В современных компьютерах чаще используется шестнадцатеричная система счисления.
Слайд 1408/12/2019
ИМИКТ
Шестнадцатеричная
система счисления
Полезно помнить некоторые степени двойки и шестнадцати:
Слайд 1508/12/2019
ИМИКТ
Арифметические операции
В вычислительной технике наиболее часто выполняется операция сложения.
Пусть
заданы два целых положительных числа в позиционной системе счисления с
основанием р. Запишем эти числа в виде:
(5)
(6)
Слайд 1608/12/2019
ИМИКТ
Арифметические операции
Вычисления выполняются по следующим правилам:
операция сложения выполняется поразрядно, начиная
с младших разрядов в слагаемых;
в каждом одноименном разряде слагаемых
суммируются соответствующие цифры и перенос из предыдущего разряда суммы;
если сумма цифр одноименных разрядов слагаемых и переноса меньше основания системы счисления, то перенос в следующий разряд равен нулю, если равна или больше — то равен единице.
Слайд 1708/12/2019
ИМИКТ
Арифметические операции в двоичной системе счисления
Правила сложения
0 + 0 =
0
0 + 1 = 1
1 + 0 = 1
1 +
1 = 10
Правила вычитания
0 - 0 = 0
0 - 1 = -1
1 - 0 = 1
1 - 1 = 0
Слайд 1808/12/2019
ИМИКТ
Арифметические операции в двоичной системе счисления
Правила умножения
0 * 0 =
0
1 * 0 = 0
0 * 1 = 0
1 *
1 = 1
Слайд 1908/12/2019
ИМИКТ
Арифметические операции в двоичной системе счисления
Сложить два числа:
1010 +
10101 = 11111
Найти разность двух чисел 10101 и 1010:
10101 -
1010 = 1011
Умножить два числа 1011 и 101:
1011 * 101 = 110111
Слайд 2008/12/2019
ИМИКТ
Перевод из одной системы счисления в другую
Перевод чисел из одной
системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим
основные правила перевода.
Правило 1
Для перевода чисел из любой системы счисления в десятичную можно воспользоваться выражением (1). Сначала в десятичную систему счисления переводится основание той системы, из которой осуществляется перевод, а затем цифры исходного числа. Результаты подставляются в выражение (1). Полученная сумма дает искомый результат.
Слайд 2108/12/2019
ИМИКТ
Схема Горнера
Эквивалентными являются алгоритмы для вычисления значения многочлена в некоторой
точке х, заданные следующими формулами:
(8)
(9)
Запись (9) носит название
вычислительной схемы Горнера.
Слайд 2208/12/2019
ИМИКТ
Схема Горнера
Алгоритм, задаваемый формулой (9) требует меньше арифметических операций и
сводится к выполнению последовательной цепочки операций умножения и сложения в
порядке их записи слева направо, поэтому при переводе чисел в десятичную систему счисления можно воспользоваться схемой Горнера.
Чтобы перевести целую часть числа из десятичной системы счисления в систему с основанием р, необходимо разделить ее на р, остаток даст младший разряд числа. Полученное частное вновь делят на р — остаток даст следующий разряд числа и т.д.
Слайд 2308/12/2019
ИМИКТ
Перевод из одной системы счисления в другую
Правило 2
Для перевода целых
чисел из десятичной системы счисления в систему счисления с основанием
р:
Последовательно делить заданное число и получаемые целые части на новое основание счисления (р) до тех пор, пока целая часть не станет меньше нового основания счисления.
Полученные остатки от деления, представленные цифрами из нового счисления, записать в виде числа, начиная с последней целой части.
Слайд 2408/12/2019
ИМИКТ
Перевод из одной системы счисления в другую
Правило 3
Для того, чтобы
перевести число, записанное в восьмеричной системе в двоичный код, необходимо
каждую цифру восьмеричного числа представить триадой двоичных символов. Лишние нули в старших разрядах отбрасываются. Например:
12345667(8) =
= 001 010 011 100 101 110 110 111(2) =
= 1 010 011 100 101 110 110 111(2).
Слайд 2508/12/2019
ИМИКТ
Перевод из одной системы счисления в другую
Правило 4
Обратный перевод производится
так: каждая триада двоичных цифр заменяется восьмеричной цифрой. Для правильного
перевода число должно быть выровнено, т.е. число двоичных знаков должно быть кратно трем. Выравнивание производится простым дописыванием требуемого количества нулей перед старшим разрядом целой части числа. Например:
1100111(2) = 001 100 111(2) = 147(8).
Слайд 2608/12/2019
ИМИКТ
Перевод из одной системы счисления в другую
Правило 5
При переводах чисел
между двоичным и шестнадцатеричным системами счисления используются четверки двоичных чисел
— тетрады. При необходимости выравнивание выполняется до длины двоичного числа, кратной четырем. Например:
12345ABCDEF(16) = 1 0010 0011 0100 0101 1010 1011 1100 1101 1110 1111(2);
11001111010 1110(2) = 0110 0111 1010 1110(2) = 67AF(16).
Слайд 2708/12/2019
ИМИКТ
Перевод из одной системы счисления в другую
Правило 6
При переходе из
восьмеричной системы счисления в шестнадцатеричную и обратно используется вспомогательный, двоичный
код числа. Например:
1234567(8) = 001 010 011 100 101 110 111(2)
= 0101 0011 1001 0111 0111(2) = 53977(16);
1267ABC(16) = 0001 0010 0110 0111 1010 1011 1100(2)
= 010 010 011 001 111 101 010 111 100(2) = 223175274(16).
Слайд 2808/12/2019
ИМИКТ
Кодирование информации
Поскольку информация в компьютере хранится в дискретной форме, для
ее записи используется некоторый конечный набор знаков, называемый алфавитом. Очень
часто в качестве алфавита используется таблица кодов, содержащая около 256 знаков. Каждому знаку соответствует числовой код. Этот код хранит образ соответствующего знака в памяти компьютера.
Слайд 2908/12/2019
ИМИКТ
Кодирование информации
Для понимания системы кодирования информации необходимо рассмотреть правила преобразования
числовых кодов в различные системы счисления.
Наиболее популярна таблица кодов ASCII.
Она состоит из 16 строк и 16 столбцов, пронумерованных от 0 до F в 16-ричной системе счисления. Например, в столбце 4 и строке D таблицы расположена заглавная буква М латинского алфавита. Таким образом при записи текста с такой буквой, она будет храниться в памяти в виде кода 4D(16) или 77(10). Другие коды: "," - 2C; "j" - 6A; "2" - 32.
Слайд 3008/12/2019
ИМИКТ
Кодирование информации
Обычно последние 8 столбцов таблицы кодов содержат буквы национальных
алфавитов, графические знаки. В большом количестве разновидностей таблицы кодов ASCII
первая половина таблицы является неизменной, а вторая - переменной.
Таким образом, для хранения одного символа в ASCII-кодировке требуется 1 байт памяти компьютера.
Однако 8-битовая кодировка является недостаточной для кодировки всех символов расширенных алфавитов. Все препятствия могут быть сняты при переходе на 16-битовую кодировку Unicode, допускающую 65536 кодовых комбинаций.
Слайд 3108/12/2019
ИМИКТ
Кодирование информации
Числа кодируются особым образом. Например, целое число, в зависимости
от типа, может кодироваться одним, двумя или четырьмя байтами. Для
получения кода положительного целого числа достаточно перевести его из десятичной в двоичную систему счисления, например, десятичное число 12 кодируется как двоичное 00001100 (при однобайтовом типе числа).
Слайд 3208/12/2019
ИМИКТ
Кодирование информации
Отрицательные целые числа часто кодируются в так называемом дополнительном
коде, когда старший двоичный разряд используется как признак отрицательности числа,
а остальные разряды должны быть такими, чтобы сумма отрицательного числа и его модуля равнялась нулю. Так, десятичное число –1 будет представлено как двоичное 1111111111111111 (при двухбайтовом типе числа).
Слайд 3308/12/2019
ИМИКТ
Кодирование информации
Минимально допустимое двухбайтовое число — 32768 кодируется как 1000000000000000,
а максимальное 32767 — как 0111111111111111.
Для вещественных чисел система кодирования
является более сложной. Обычно для каждого числа часть байтов отводится для хранения мантиссы числа, а часть — для порядка числа.