Пример выполнения работы
Лабораторная работа №7
Тема: «Системы счисления»
Цель работы: Рассмотреть позиционные системы счисления, а также получить навыки по представлению числовых данных в различных системах счисления.
Порядок выполнения работы
1. Изучить общие понятия, лежащие в основе систем счисления: алфавит, основание.
2. Освоить правила перевода чисел из одной системы счисления в другую, а также правила выполнения арифметических операций с двоичными числами.
3. Получить навыки представления чисел в машинных двоичных кодах.
Теоретическая часть
Под системой счисления понимается определенный способ записи числа с помощью некоторого алфавита символов a1, a2,…, an. При этом каждой цифре ai в записи числа ставится в соответствие определенное количественное значение.
Системы счисления | |
Непозиционная | Каждый символ сохраняет свое количественное значение при изменении его положения в числе. Примером такой системы является римская система счисления. |
Позиционная | Количественное значение каждой цифры (символа) зависит от ее местоположения в числе. |
Количество цифр, используемых для изображения числа в позиционной системе счисления, называется основанием системы счисления (S).
Любое число A в позиционной системе счисления может быть представлено в виде суммы коэффициентов ai из алфавита данной системы умноженных на степени основания S системы счисления:
AS=anan-1an-2…a2a1a0,a-1a-2…a-m=
=an*Sn + an-1*Sn-1 + an-2*Sn-2 + …a2*S2 + a1*S1 + a0*S0 +a-1*S-1 + a-2*S-2 + … + a-m*S-m.
Таблица 1
Алфавит основных систем счисления
Система счисления | Основание (S) | Цифры |
Двоичная | 0,1 | |
Троичная | 0, 1, 2 | |
Четверичная | 0, 1, 2, 3 | |
Пятеричная | 0, 1, 2, 3, 4 | |
Восьмеричная | 0, 1, 2, 3, 4, 5, 6, 7 | |
Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 | |
Шестнадцатеричная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F |
В математике для записи числа используется десятичная система счисления (S=10), ее алфавит состоит из десяти арабских цифр 0, 1, 2,…, 9. Любое число в этой системе счисления можно представить следующим образом:
A10=an*10n + a1*101 + a0*100+a-1*10-1 … + a-m*10-m.
Например, 32,1910=3·101+2·100+1·10-1+9·10-2.
В аппаратной основе вычислительной техники для физического представления чисел, предназначенных для обработки, используются двухпозиционные элементы, которые могут находиться только в одном из устойчивых состояний. Одно из этих состояний обозначает цифру 0, а другое – цифру 1. Поэтому наибольшее распространение в ЭВМ получила двоичная система счисления, основание которой S=2. Ее алфавит состоит из двух цифр 0 и 1.
Например, двоичное число
10011,01=1·24+0·23+0·22+1·21+1·20+0·2-1+1·2-2=16+2+1+0,25=19,2510
соответствует десятичному числу 19,2510.
Таблица 2
Правила двоичного сложения, вычитания и умножения
сложение | вычитание | умножение |
0+0=0 | 0-0=0 | 0·0=0 |
0+1=1 | 1-0=1 | 0·1=0 |
1+0=1 | 1-1=0 | 1·0=0 |
1+1=10 | 10-1=1 | 1·1=1 |
Для более компактной записи чисел обычно используются восьмеричная и шестнадцатеричная системы счисления. Поэтому большое практическое значение имеют процедуры перевода из одной системы счисления в другую.
Правила перевода из одной позиционной системы в другую | |
1. Перевод целого числа из десятичной системы счисления в систему счисления с основанием Q | осуществляется последовательным делением данного числа на основание Q, до тех пор, пока частное не станет равным нулю. Число в новой системе (S=Q) будет представлено в виде остатков от деления, записанных начиная с последнего. Например, десятичное число 2210 запишется в двоичной системе следующим образом Остаток 22:2 = 11 (0) 11:2 = 5 (1) 5:2 = 2 (1) 2:2 = 1 (0) 1:2 = 0 (1) 2210=101102. |
2. Перевод правильной дроби из десятичной системы счисления в другую систему с основанием Q | осуществляется последовательным умножением ее на основание новой системы счисления. Целая часть полученного числа будет первой цифрой после запятой. Дробную же часть необходимо вновь умножить на Q. Целая часть полученного числа будет следующей цифрой и т. д. |
3. Для перевода неправильных дробей в новую систему счисления | необходимо, с помощью рассмотренных выше правил 1 и 2, отдельно выполнить перевод целой и дробной части. |
4. Перевод чисел в десятичную систему счисления | осуществляется путем составления степенного ряда с основанием той системы счисления, из которой это число переводится. |
В восьмеричной системе счисления (S=8) используется восемь цифр 0,1,…,7. Например, переведем число из восьмеричной системы счисления 237,48 в десятеричную систему счисления
237,48=2·82 + 3·81 + 7·80 + 4·8-1 = 128+24+7+0,5=159,510.
Переведем число из десятичной системы счисления 75,5910 в восьмеричную систему счисления
Остаток
75:8 = 9 (3)
9:8 = 1 (1)
1:8 = 0 (1)
0,59·8 = 4,72;
0,72·8 = 5,76;
0,76·8 = 6,08, …
Таким образом, 75,5910 = 113,4568
В шестнадцатеричной системе счисления алфавит состоит из 16 цифр, где первые десять символов обозначаются цифрами от 0 до 9, а далее используются буквенные обозначения: 10 – A, 11 – B, 12 – C, 13 – D, 14 – E, 15 – F. Предложенный алфавит позволяет записать все десятичные цифры от 0 до 15, остальные цифры представляются следующим образом:
Остаток Остаток Остаток
16:16 = 1 (0) 17:16 = 1 (1) 18:16 = 1 (2)
1:16 = 0 (1) 1:16 = 1 (1) 1:16 = 0 (1)
1610=1016 = 1·161+0·160; 1710=1116 = 1·161+1·160; 1810=1216 = 1·161+2·160.
Существует также способ взаимного перевода чисел из восьмеричной и шестнадцатеричной системы счисления в двоичную систему счисления, благодаря использованию таблицы соответствия чисел в двоичной, восьмеричной и шестнадцатеричной системах счисления (Табл.3).
Таблица 3
Соответствие чисел в двоичной, восьмеричной и
шестнадцатеричной системах счисления
Двоичная (S=2) | Восьмеричная (S=8) | Шестнадцатеричная (S=16) | ||
триады | тетрады | |||
0 1 | 0 1 2 3 4 5 6 7 | 000 001 010 011 100 101 110 111 | 0 1 2 3 4 5 6 7 8 9 A B C D E F | 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 |
Например, переведем число 162,378 из восьмеричной системы счисления в двоичную и шестнадцатеричную системы счисления
162,378 = 001110010, 011111 2,
1 6 2 3 7
01110010, 01111100 2 = 72,7C16
7 2 7 C
Получаем, 162,378 = 1110010,0111112 = 72,7C16
Для выполнения арифметических операций над числами в ЭВМ используют специальные машинные коды: прямой, обратный и дополнительный. Применение машинных кодов сводит операцию вычитания к алгебраическому суммированию кодов этих чисел, упрощается определение знака результата операции.
В данных машинных кодах перед старшим цифровым разрядом располагается знаковый разряд, в котором записывается нуль для положительного числа и единица для отрицательного числа. В дальнейшем при написании машинных кодов будем отделять знаковый разряд от цифровых разрядов точкой.
Прямой код двоичного числа содержит цифровые разряды, перед которыми записан знаковый разряд. Прямой код используется для представления отрицательных чисел в запоминающем устройстве ЭВМ.
Например, для двоичных чисел x = +10102 и y = -11012 их прямые коды будут иметь следующий вид:
xпр = 0.10102 и yпр = 1.11012.
Обратный код положительного числа полностью совпадает с его прямым кодом. Для отрицательного числа он содержит единицу в знаковом разряде, а значащие цифровые разряды числа заменяются на инверсные, то есть единицы заменяются нулями, а нули – единицами.
Таким образом, для приведенного выше примера имеем:
xобр = xпр = 0.10102 и yобр = 1.00102.
Дополнительный код положительного числа полностью совпадает с прямым кодом, а следовательно и с обратным. Для отрицательного числа он образуется из обратного путем прибавления к нему единицы к младшему цифровому разряду.
Следовательно, получаем:
xдоп = xобр = xпр = 0.10102 и yдоп = 1.00112.
Практическая работа
Задание 1.Переведите число из указанной системы счисления (см. вариант) в десятичную систему счисления.
Варианты | Задание | Варианты | Задание |
1. | 242,38 | 2. | A2F,C16 |
3. | 161,28 | 4. | 12B,816 |
5. | 146,28 | 6. | 22C,816 |
7. | 103,248 | 8. | 172,28 |
9. | 11D,416 | 10. | 12F,816 |
11. | 214,48 | 12. | 22D,316 |
Задание 2.Переведите число (см. вариант) из десятичной системы счисления в двоичную систему счисления с точностью 3 знака после запятой.
Варианты | Задание | Варианты | Задание |
1. | 51,7610 | 2. | 57,4910 |
3. | 39,5410 | 4. | 64,510 |
5. | 56,4210 | 6. | 61,2910 |
7. | 47,2910 | 8. | 54,6110 |
9. | 45,3110 | 10. | 65,5210 |
11. | 36,7410 | 12. | 66,3610 |
Задание 3.Переведите число (см. вариант) из десятичной системы счисления в шестнадцатеричную систему счисления с точностью 4 знака после запятой.
Варианты | Задание | Варианты | Задание |
1. | 82,210 | 2. | 71,610 |
3. | 84,910 | 4. | 52,1510 |
5. | 73,810 | 6. | 73,410 |
7. | 67,210 | 8. | 91,310 |
9. | 80,410 | 10. | 86,510 |
11. | 12. |
Задание 4.Выполните указанные действия над двоичными числами:
Варианты | Задание | Варианты | Задание |
1. | a. 110012 + 10012; b. 10112 * 1012. | 2. | a. 100012 + 1112; b. 10102 * 112. |
3. | a. 1100102 + 11012; b. 1012 * 1012. | 4. | a. 101012 + 10112; b. 1002 * 112. |
5. | a. 1010112 + 10012; b. 10112 * 112. | 6. | a. 100012 + 101012; b. 1112 * 1012. |
7. | a. 110102 + 10112; b. 10002 * 112. | 8. | a. 10012 + 10012; b. 10012 * 10012. |
9. | a. 100012 + 10112; b. 1002 * 1012. | 10. | a. 100012 + 1112; b. 101012 * 112. |
11. | c. 1101102 + 10112; d. 1012 * 1112. | 12. | c. 111012 + 10112; d. 1012 * 112. |
Задание 5.Переведите число из указанной системы счисления (см. вариант) в двоичную и восьмеричную(шестнадцатеричную) системы счисления. (Примечание. Использовать Табл.3)
Варианты | Задание | Варианты | Задание |
1. | 2AC,3B16 | 2. | 426,358 |
3. | 9A1,F216 | 4. | 173,468 |
5. | 42A,1816 | 6. | 532,418 |
7. | 8E1,A16 | 8. | D2,A16 |
9. | 412,738 | 10. | 317,128 |
11. | 5A,1916 | 12. | D3,С16 |
Задание 6.
Варианты | Задание |
1. | Выберите число, которое является минимальным среди следующих чисел: 10000002, 628, 3916, 5210. |
2. | Расположите числа в порядке возрастания: 1100102, 738, 4016, 6110. |
3. | Выберите число, которое является максимальным среди следующих чисел: 1000012, 528, 4216, 6310. |
4. | Расположите числа в порядке убывания: 1010012, 438, 3616, 5210. |
5. | Выберите число, которое является минимальным среди следующих чисел: 1001102, 238, 2316, 2310. |
6. | Расположите числа в порядке убывания: 1101112, 768, 3A16, 5410. |
7. | Выберите число, которое является максимальным среди следующих чисел: 110012, 248, 2416, 2410. |
8. | Выберите число, которое является минимальным среди следующих чисел: 110012, 238, 2316, 2310. |
9. | Расположите числа в порядке убывания: 1100102, 738, 2B16, 7410. |
10. | Расположите числа в порядке возрастания: 1000102, 328, 3216, 3210. |
Задание 7.Если обратный код целого числа X имеет указанный вид (см. вариант), то чему будет равно его значение в десятичной системе счисления.
Варианты | Задание | Варианты | Задание |
1. | 111000012 | 2. | 110001102 |
3. | 000001012 | 4. | 111101102 |
5. | 111100012 | 6. | 111110012 |
7. | 111011012 | 8. | 111101012 |
9. | 111100112 | 10. | 000011012 |
11. | 101100012 | 12. | 111101012 |
Задание 8.Какой вид имеет дополнительный двоичный код указанного числа (см. вариант) в однобайтовом формате.
Варианты | Задание | Варианты | Задание |
1. | -510 | 2. | 210 |
3. | -410 | 4. | 310 |
5. | -210 | 6. | 710 |
7. | 1010 | 8. | 910 |
9. | 1310 | 10. | -810 |
11. | -610 | 12. | -710 |
Задание 9.Найдите основание системы счисления, если
Варианты | Задание | Варианты | Задание |
1. | 1410 = 16X | 2. | 1010 = 12X |
3. | 510 = 12X | 4. | 1710 = 11X |
5. | 410 = 11X | 6. | 310 = 11X |
7. | 2110 = 15X | 8. | 2410 = 30X |
9. | 2210 = 26X | 10. | 210 = 10X |
11. | 510 = 12X | 12. | 510 = 11X |
Задание 10.Установите соответствие между указанным выражением (см. вариант) и выражением в дополнительном двоичном коде.
Варианты | Задание | Варианты | Задание |
1. | (-310 + 1010 =) | 2. | (910 - 310 =) |
3. | (-1010 - 110 =) | 4. | (-810 - 410 =) |
5. | (-1210 + 210 =) | 6. | (1410 - 510 =) |
7. | (-1210 + 410 =) | 8. | (-1310 - 310 =) |
9. | (-1010 - 510 =) | 10. | (1410 - 710 =) |
11. | (-1010 - 210 =) | 12. | (1410 - 310 =) |
Контрольные вопросы
1. Что понимают под системой счисления?
2. В чем отличие позиционной системы счисления от непозиционной?
3. Что понимают под алфавитом системы счисления?
4. Что принято считать основанием системы счисления?
5. Какие системы счисления используются в информатике?
6. Каковы правила перевода чисел из одной системы счисления в другую?
7. Каковы правила выполнения арифметических операций с двоичными числами?
8. Охарактеризуйте машинные двоичные коды: прямой, обратный и дополнительный?
Приложение
Пример выполнения работы
Задание 1.Переведите число 253,48 из восьмеричной системы счисления в десятичную систему счисления.
Решение:
253,48 = 2∙82 + 5∙81 + 3∙80 + 4∙8-1 = 128+40+3+0,5 = 171,510.
Ответ: 253,48 = 171,510.
Задание 2.Переведите число 48,6710 из десятичной системы счисления в двоичную систему счисления с точностью 3 знака после запятой.
Решение:
Остаток
48:2 = 24 (0)
24:2 = 12 (0)
12:2 = 6 (0)
6:2 = 3 (0)
3:2 = 1 (1)
1:2 = 0 (1)
Тогда 4810=1100002.
0,67·2 = 1,34;
0,34·2 = 0,68;
0,68·2 = 1,36, …
Таким образом, 0,6710 = 0,101…2.
Ответ: 48,6710 = 110000,101…2.
Задание 3.Переведите число 62,710 из десятичной системы счисления в шестнадцатеричную систему счисления с точностью 4 знака после запятой.
Решение:
Остаток
62:16 = 3 (14)
3:16 = 0 (3)
Тогда 6210=3E16.
0,7·16 = 11,2;
0,2·16 = 3,2;
0,2·16 = 3,2,
0,2·16 = 3,2,…
Таким образом, 0,710 = 0,B333…16.
Ответ: 62,710 = 3E,B333…16.
Задание 4.Выполните указанные действия над двоичными числами:
a. 110012 + 1012;
b. 10112 * 112.
Решение:
11001 1011
+ 101 * 11
11110 1011
+ 1011
Ответ: a) 111102; b) 1000012.
Задание 5.Переведите число 2FC,3A16 из шестнадцатеричной системы счисления в двоичную и восьмеричную системы счисления. (Примечание. Использовать Табл.3)
Решение:
2FC,3A16 = 001011111100, 00111010 2,
2 F C 3 A
001011111100, 001110100 2 = 1374,1648
1 3 7 4 1 6 4
Ответ: 2FC,3A16 = 1011111100,001110102 = 1374,1648.
Задание 6.Выберите число, которое является минимальным среди следующих чисел: 1110012, 648, 3816, 5910.
Решение:
1110012 = 5710
648 = 5210,
3816 = 5610,
Ответ: 648.
Задание 7.Если обратный код целого числа x имеет вид 111001012, то чему будет равно его значение в десятичной системе счисления.
Решение: xобр = 1 11001012, xпр = 1 00110102,
x = -00110102=-(1·24 + 1·23 + 0·22 + 1·21 + 0·20)=-26.
Ответ: -26.
Задание 8.Какой вид имеет дополнительный двоичный код числа 510 в однобайтовом формате.
Решение:
Остаток
5:2 = 2 (1)
2:2 = 1 (0)
1:2 = 0 (1)
Тогда 510=1012. Известно, что 1байт = 8бит. Первая цифра указывает на знак числа, а следующие семь цифр указывают на количественное значение числа. Поэтому дописываем 4 нуля перед 101 и еще один нуль записываем самым первым, он указывает на то, что число положительное.
Ответ: 000001012.
Задание 9.Найдите основание системы счисления, если 2010 = 14X.
Решение:
Предположим, X=8, тогда
Остаток
20:8 = 2 (4)
2:8 = 0 (2)
Следовательно, 2010 = 24X, не подходит.
Предположим, X=16, тогда
Остаток
20:16 = 1 (4)
1:16 = 0 (1) Получаем, 2010 = 1416.
Ответ: X=16.
Задание 10.Установите соответствие между выражением: (-1110 + 310 =) и выражением в дополнительном двоичном коде.
Решение:
Введем следующие обозначения:
x = -1110 = -10112 и y = +310 = +112 = +00112.
В прямых кодах эти числа имеют вид:
xпр = 1.10112 и yпр = 0.00112.
В обратных кодах: xобр = 1.01002 и yобр = yпр = 0.00112.
В дополнительных кодах:
xдоп = 1.01012 и yдоп = yобр = yпр = 0.00112.
Ответ: 1.01012 + 0.00112.