Системы счисления, используемые в компьютере. Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
2 Представление числовой информации с помощью систем счисления
3 Алфавит систем счисления (СС) состоит из символов, которые называются цифрами.
4 Система счисления (СС) Знаковая система, в которой числа записываются по определенным правилам с помощью символов некоторого алфавита, называемых цифрами.
5 Системы счисления Позиционные Непозиционные
6 Позиционная система счисления Количественное значение каждой цифры зависит от ее местоположения (позиции) в числе.
7 Непозиционная система счисления Цифры не меняют своего количественного значения при изменении их положения в числе.
8 Основание системы Количество цифр, используемых для изображения числа в позиционной системе счисления.
9 Алгоритм перевода десятичных чисел в двоичные Разделить число на 2. Зафиксировать остаток (0 или 1) и частное. Если частное не равно 0, то разделить его на 2, и так далее, пока частное не станет равно 0. Если частное 0, то записать все полученные остатки, начиная с первого, справа налево.
10 Римская непозиционная система счисления В качестве цифр используются: I (1), V (5), X (10), L (50), С (100), D (500), М (1000).
11 Римская СС Величина числа определяется как сумма или разность цифр в числе. Если меньшая цифра стоит слева от большей, то она вычитается, если справа - прибавляется.
12 Например 1998 в римской СС будет выглядеть следующим образом: МСМХСVIII = ( ) + ( )
13 Позиционные системы счисления
14 В позиционных системах счисления количественное значение цифры зависит от ее позиции в числе.
15 В позиционных системах счисления основание системы равно количеству цифр (знаков в ее алфавите) и определяет, во сколько раз различаются значения одинаковых цифр, стоящих в соседних позициях числа.
16 Позиционные СС
17 Десятичная СС Используется в математике для записи числа, основание которого равно 10.
18 Если запятая присутствует, то последовательность чисел, расположенных до нее, называется целой частью числа.
19 Последовательность чисел, расположенных после запятой, называется дробной частью числа.
20 Разряд Позиция цифры в числе. Возрастает справа налево, от младших разрядов к старшим.
21 В десятичной СС цифра, находящаяся в крайней справа позиции (разряде), обозначает количество единиц, цифра, смещенная на одну позицию влево, количество десятков, еще левее сотен, затем тысяч и так далее.
22 Пример = 5· · ·10 0
23 Для записи десятичных дробей используются отрицательные значения степеней основания.
24 Пример 555,55 10 =5· · · · ·10 -2
25 Умножение или деление десятичного числа на 10 (величину основания) приводит к перемещению запятой, отделяющей целую часть от дробной, на один разряд соответственно вправо или влево.
26 Пример 555,55 10 · 10 = 5555,5 10 ; 555,55 10 : 10 = 55,
27 Двоичная СС Числа в двоичной системе в развернутой форме записываются в виде суммы степеней основания 2 с коэффициентами, в качестве которых выступают цифры 0 или 1.
28 Пример Развернутая запись: А 2 = 1·2 2 +0·2 1 +1·2 0 +0· ·2 -2 Свернутая форма: А 2 = 101,01 2
29 Умножение или деление двоичного числа на 2 (величину основания) приводит к перемещению запятой, отделяющей целую часть от дробной на один разряд соответственно вправо или влево.
30 Пример 101,01 2 · 2 = 1010,1 2 ; 101,01 2 : 2 = 10,101 2
31 Перевод чисел в позиционных системах счисления
32 Перевод чисел в десятичную СС Необходимо записать число в развернутой форме и вычислить его значение.
33 Перевод числа из двоичной СС в десятичную 10,11 2 = 1·2 1 +0· · ·2 -2 = = 1·2+0·1+1·1/2+1·1/4 = 2,75 10
34 Перевод чисел из восьмеричной СС в десятичную 67,5 8 = 6·8 1 +7·8 0 +5·8 -1 = 6·8+7·1+5·1/8 = 55,625 10
35 Перевод чисел из шестнадцатеричной системы в десятичную 19F 16 = 1· ·16 1 +F·16 0 = =1·256+9·16+15·1 =
36 Перевод чисел из десятичной СС в двоичную, восьмеричную и шестнадцатеричную
37 Алгоритм перевода целого десятичного числа в двоичное Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2) до тех пор, пока не получится частное, меньшее делителя, то есть меньшее 2. Записать полученные остатки в обратной последовательности.
38 Алгоритм перевода правильных десятичных дробей в двоичную СС Последовательно выполнять умножение исходной десятичной дроби и получаемых дробных частей произведений на основание системы (на 2) до тех пор, пока не получится нулевая дробная часть или не будет достигнута требуемая точность вычислений. Записать полученные целые части произведения в прямой последовательности.
39 Перевод чисел, содержащих целую и дробную части Переводится целая часть, Переводится дробная часть. В итоговой записи полученного числа целая часть от дробной отделяется запятой.
40 Перевод чисел из двоичной СС в восьмеричную Для записи восьмеричных чисел используются восемь цифр. Решаем уравнение: 8 = 2 i. Так как 8 = 2 3, то i = 3 бита.
41 Для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней, левой, группе окажется меньше трех цифр, то необходимо ее дополнить слева нулями.
42 Пример => 1·2 2 +0·2 1 +1·2 0 0·2 2 +0·2 1 +1·2 0 => 51 8
43 Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры:
44 Для перевода дробного двоичного числа (правильной дроби) в восьмеричное необходимо разбить его на триады слева направо и, если в последней, правой, группе окажется меньше трех цифр, дополнить ее справа нулями. Далее необходимо триады заменить на восьмеричные числа.
45 Пример Преобразуем дробное двоичное число А 2 = 0, в восьмеричную систему счисления: Получаем: А 8 = 0,65 8.
46 Перевод чисел из двоичной СС в шестнадцатеричную Для записи шестнадцатеричных чисел используются шестнадцать цифр. Решаем уравнение: 16 = 2 i. Так как 16 = 2 4, то i = 4 бита.
47 Для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями.
48 Для перевода дробного двоичного числа (правильной дроби) в шестнадцатеричное необходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше четырех цифр, то необходимо дополнить ее справа нулями.
49 Затем надо преобразовать каждую группу в шестнадцатеричную цифру, воспользовавшись для этого предварительно составленной таблицей соответствия двоичных тетрад и шестнадцатеричных цифр.
50 Пример Переведем целое двоичное число А 2 = в шестнадцатеричное В результате имеем: А 16 =
51 Пример Переведем дробное двоичное число А 2 = 0, в шестнадцатеричную систему счисления Получаем: А 16 = 0,В4 16. В
52 Перевод чисел из восьмеричной и шестнадцатеричной СС в двоичную Для перевода чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную необходимо цифры числа преобразовать в группы двоичных цифр.
53 Для перевода из восьмеричной системы в двоичную каждую цифру числа надо преобразовать в группу из трех двоичных цифр (триаду), а при преобразовании шестнадцатеричного числа в группу из четырех цифр (тетраду).
54 Пример Преобразуем дробное восьмеричное число А 8 = 0,47 8 в двоичную систему счисления: Получаем: А 2 = 0,
55 Пример Переведем целое шестнадцатеричное число А 16 = АВ 16 в двоичную систему счисления В результате имеем: А 2 =
56 Арифметические операции в позиционных системах счисления
57 Сложение = = = = 10
58 При сложении двух единиц происходит переполнение разряда и производится перенос в старший разряд. Переполнение разряда наступает тогда, когда величина числа в нем становится равной или большей основания.
59 Сложим в столбик двоичные числа и 11 2
60 Вычитание
61 При вычитании из меньшего числа (0) большего (1) производится заем из старшего разряда. В таблице заем обозначен 1 с чертой.
62 Произведем вычитание двоичных чисел и 11 2
63 Умножение 0 · 0 = 0 0 · 1 = 0 1 · 0 = 0 1 · 1 = 1
64 Умножение многоразрядных двоичных чисел происходит по обычной схеме, применяемой в десятичной системе счисления с последовательным умножением множимого на цифры множителя.
65 Умножение двоичных чисел и 11 2
66 Деление Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления.
67 Деление двоичного числа на 11 2
68 Арифметические операции в восьмеричной и шестнадцатеричной системах счисления
69 Величина переноса в следующий разряд при сложении и заем из старшего разряда при вычитании определяется величиной основания системы счисления.
70 Примеры
71 Для проведения арифметических операций над числами, выраженными в различных системах счисления, необходимо предварительно перевести их в одну и ту же систему.