Перевод чисел из одной позиционной системы счисления
В другую
Цель работы. Изучение методов и отработка навыков перевода чисел из одной позиционной системы счисления в другую.
Количество различных цифр р, используемых в позиционной системе, определяет название системы счисления и называется основаниемp-йсистемы счисления.
Любое число N в позиционной системе счисления с основанием р может быть представлено в виде полинома от основания р:
,
где N – число, – цифры числа (коэффициенты при степенях р), р – основание системы счисления (р > 1).
Числа записывают в виде последовательности цифр:
– точка в последовательности отделяет целую часть числа от дробной (коэффициенты при неотрицательных степенях от коэффициентов при отрицательных степенях). Точка опускается, если число целое (нет отрицательных степеней).
В компьютерных системах применяют позиционные системы счисления с недесятичным основанием: двоичную, восьмеричную, шестнадцатеричную.
В аппаратной основе ЭВМ лежат двухпозиционные элементы, которые могут находиться только в двух состояниях, одно из которых обозначается 0, а другое – 1. Поэтому арифметико-логической основной ЭВМ является двоичная система счисления.
Двоичная система счисления.Используется две цифры: 0 и 1. В двоичной системе любое число может быть представлено в виде , где либо 0, либо 1.
Эта запись соответствует сумме степеней числа 2, взятых с указанными коэффициентами:
.
Восьмеричная система счисления.Используется восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7. Употребляется в ЭВМ как вспомогательная система для записи информации в сокращенном виде. Для представления одной цифры восьмеричной системы используется три двоичных разряда (триада) (табл. 1).
Шестнадцатеричная система счисления. Для изображения чисел используется 16 цифр. Первые десять цифр этой системы обозначаются цифрами от 0 до 9, а старшие шесть цифр – латинскими буквами: А (10), В (11), С (12), D(13), E(14), F(15). Шестнадцатеричная система, также как и восьмеричная, используется для записи информации в сокращенном виде. Для представления одной цифры шестнадцатеричной системы счисления используется четыре двоичных разряда (тетрада) (табл. 1).
Таблица 1
Алфавиты позиционных систем счисления (с.с.)
Двоичная (основание 2) | Восьмеричная (основание 8) | Десятичная (основание 10) | Шестнадцатеричная (основание 16) |
Двоичные триады | Двоичные тетрады |
Задание 1
Переведите числа из заданных систем счисления вдесятичную систему.
Методические указания
Перевод чисел в десятичную систему осуществляется путем составления суммы степенного ряда с основанием той системы, из которой число переводится. Затем подсчитывается значение этой суммы.
Пример
а) Перевести 10101101,1012 10 с.с.
Ответ: .
б) Перевести 10 с.с.
.
Ответ: .
в) Перевести 10 с.с.
.
Ответ: .
Задание 2
Переведите целые числа из десятичной системы в восьмеричную, шестнадцатеричную и двоичную системы.
Методические указания
Перевод целых десятичных чисел в восьмеричную, шестнадцатеричную и двоичную системы осуществляется последовательным делением десятичного числа на основание той системы, в которую оно переводится, до тех пор, пока не получится частное, равное нулю. Число в новой системе записывается в виде остатков от деления, начиная с последнего.
Примеры.
а) Перевести 8 с.с.
Можно записать:
181: 8 = 22 (остаток 5)
22: 8 = 2 (остаток 6)
2:8 = 0 (остаток 2)
Ответ: .
б) Перевести 16 с.с.
Можно записать:
622:16=38 (остаток )
38:16=2 (остаток 6)
2:16=0 (остаток 2)
Ответ: .
Задание 3
Переведите правильные десятичные дроби из десятичной системы в восьмеричную, шестнадцатеричную и двоичную системы.
Методические указания
Для перевода правильной десятичной дроби в другую систему эту дробь последовательно умножают на основание той системы, в которую она переводится. При этом умножаются только дробные части полученных произведений. Если в результате умножения на некотором шаге дробная часть становится равной нулю, это означает, что получили конечную дробь в новой системе счисления. В новой системе дробь записывается в виде целых частей полученных произведений, начиная с первого. Не все конечные дроби в результате перевода станут конечными, зачастую в новой системе счисления получается бесконечная дробь.
Примеры
Перевести 8 с.с.
Условно отделим вертикальной чертой целую и дробную части полученных произведений.
Результат перевода есть последовательность цифр, состоящих из целых частей произведений, записанная сверху вниз.
Ответ: .
Задание 4
Переведите неправильные десятичные дроби из десятичной системы в восьмеричную, шестнадцатеричную и двоичную системы.
Методические указания
Для перевода неправильной десятичной дроби в систему счисления с недесятичным основанием необходимо отдельно перевести целую часть и отдельно дробную.
Пример
Перевести 2 с.с.
1. Переведем целую часть:
2. Переведем дробную часть:
Получили ; .
Результат перевода .
Ответ: .
Задание 5
Переведите числа из восьмеричной и шестнадцатеричной систем счисления в двоичную систему.
Методические указания
Для перевода восьмеричного или шестнадцатеричного числа в двоичную форму достаточно заменить каждую цифру этого числа соответствующим трехразрядным двоичным числом (триадой) (см. табл. 1) или четырехразрядным двоичным числом (тетрадой) (см. табл. 1), при этом отбрасывают незначащие нули в старших и младших (после запятой) разрядах.
Примеры
а) ;
б)
Задание 6
Переведите числа из восьмеричной и шестнадцатеричной систем счисления в двоичную систему.
Методические указания
Для перехода от двоичной к восьмеричной (шестнадцатеричной) системе поступают следующим образом: двигаясь от точки влево и вправо, разбивают двоичное число на группы по три (четыре) разряда, дополняя при необходимости нулями крайние левую и правую группы. Затем триаду (тетраду) заменяют соответствующей восьмеричной (шестнадцатеричной) цифрой.
Примеры
а) Перевести
б) Перевести
Задание 7
Переведите числа из восьмеричной в шестнадцатеричную систему счисления и из шестнадцатеричной в восьмеричную систему счисления.
Методическиеуказания
Перевод из восьмеричной в шестнадцатеричную систему и обратно осуществляется через двоичную систему с помощью триад и тетрад.
Пример
Перевести
Ответ: .
Задания для самостоятельной работы
Вариант | Переведите числа в 10-ю с.с. | Переведите десятичные числа в 2-ю, 8-ю, и 16-ю с.с. | Восьмеричное число переведите в 16-ю с.с., а шестнадцатеричное – в 8-ю с.с. |
1. | 10010011111,1012 1372,128 3CA,7D16 | 286,06 | 1263,718 2BA,2C16 |
2. | 11100101010,0112 2136,318 1C3,A216 | 476,91 | 3472,628 4CA,2716 |
3. | 11001100111,0112 1742,368 123E,4D16 | 438,76 | 1724,318 2AF,3C16 |
4. | 11101011101,10012 1467,638 1AF,7316 | 362,87 | 1273,568 30A,E0F16 |
5. | 101011010110,0012 1523,248 2A7,3E16 | 305,37 | 1623,728 5C2,C716 |
6. | 11001100011,10012 1273,568 30A,E0F16 | 324,93 | 12372,418 1D2,7D16 |
7. | 10011010111,0112 1623,728 5C2,C716 | 457,21 | 1735,128 5AD,4D16 |
8. | 11000001111,0112 1735,668 23A,EF16 | 343,43 | 2451,238 2BA,D316 |
9. | 10000111111,10012 1327,468 3CD,BA16 | 381,93 | 1372,128 3CA,7D16 |
10. | 11100001101,0112 1523,748 4BA,2F16 | 419,96 | 2136,318 1C3,A216 |
11. | 11011110110,1012 4123,178 1C3,A516 | 400,01 | 1742,368 123E,4D16 |
12. | 110010010111,10012 1272,128 3AD,7D16 | 153,63 | 5123,148 1B3,4D16 |
13. | 11100110101,10112 1071,218 5DC,F216 | 172,04 | 1263,718 2BA,2C16 |
14. | 10011010111,0112 2372,128 1F2,7B16 | 191,11 | 3472,628 4CA,2716 |
15. | 11110010101,10012 1574,618 35C,F116 | 210,96 | 1724,318 2AF,3C16 |
16. | 11000011010,10012 6123,518 13A,C216 | 229,74 | 1272,128 3AD,7D16 |
17. | 10011000111,11112 5412,638 52A,1716 | 248,2 | 1071,218 5DC,F216 |
18. | 11101101101,10012 5123,148 1B3,4D16 | 267,72 | 2372,128 1F2,7B16 |
19. | 11101011001,01012 1263,718 2BA,2C16 | 571,58 | 1742,368 123E,4D16 |
20. | 10101110111,01012 3472,628 4CA,2716 | 590,72 | 1467,638 1AF,7316 |
21. | 10101101111,0112 1724,318 2AF,3C16 | 495,32 | 1523,248 2A7,3E16 |
22. | 11100101101,10112 1275,468 23A,E716 | 552,5 | 1735,668 23A,EF16 |
23. | 10011010111,0112 12372,418 1D2,7D16 | 533,51 | 1327,468 3CD,BA16 |
24. | 11011100010,11012 1735,128 5AD,4D16 | 514,58 | 1523,748 4BA,2F16 |
25. | 10100101111,1012 2451,238 2BA,D316 | 609,11 | 4123,178 1C3,A516 |
Контрольные вопросы
1. Как осуществляется перевод чисел из р-й с.с. в десятичную?
2. Как перевести целое десятичное число в р-ю с.с.?
3. Как перевести правильную десятичную дробь в р-ю с.с.?
4. Как перевести неправильную десятичную дробь в р-ю с.с.?
Лабораторная работа №3
Двоичная арифметика
Цель работы. Научиться выполнять арифметические операции (сложение, вычитание, умножение и деление) с двоичными числами.
Задание 1
Выполните сложение чисел в двоичной системе счисления 100100111,0012 – 100111010,1012
Методические указания
При сложениидвоичных чисел в каждом разряде производится сложение цифр слагаемых и цифры, переносимой из соседнего младшего разряда, если она имеется. При этом необходимо учитывать, что 1 + 1 дают нуль в данном разряде и единицу переноса в следующий разряд.
Примеры
1) Выполнить сложение двоичных чисел X=1101, Y=111.
В приведенном примере в младшем нулевом разряде две единицы: 1 + 1 = 10 дают нуль в данном разряде и единицу переноса в следующий разряд. В первом разряде: 0+1 + 1 = 10 (крайняя единица перенесена из нулевого разряда) дают 0 и единицу переноса в следующий. Во втором разряде сумма 1 + 1 + 1 = 11 (крайняя единица перенесена из первого разряда) дает 1 и единицу переноса в следующий разряд. В старшем третьем разряде 1 и единица переноса из предыдущего разряда дают 1 + 1 = 10.
Ответ: 1101 + 111 = 10100.
2) Сложить три двоичных числа X=1101, Y=101, Z=111.
Ответ: 1101 + 101 + 111 = 11001.
Задание 2
Выполните вычитание чисел в двоичной системе счисления: 1100110110,00112 – 11111110,012
Методические указания
При вычитаниидвоичных чисел в данном разряде при необходимости занимается 1 из старшего разряда. Эта занимаемая 1 равна двум единицам данного разряда, так как 10 = 1 + 1.
Примеры
1) Заданы двоичные числа X= 10010 и Y = 101. Вычислите X - У.
Ответ: 100102 – 1012 =11012
Замечание. Число 100…002можно представить в виде суммы
Данное разложение на слагаемые объясняет правило вычитания в столбик. Если вы занимаете 1 из ближайшего старшего разряда, тогда над всеми следующими за единицей нулями следует дописывать 1, а над крайним нулем, для которого произведен заем, 1 + 1 или 10.
2) Выполнить вычитание: 1100000011,0112 – 101010111,12
Ответ: 1100000011,0112 – 101010111,12 =110101011,1112
Задание 3
Выполните умножение чисел и в двоичной системе счисления.
Методические указания
Правила умножения двоичных чиселтакие же, как и для умножения десятичных чисел в столбик, с использованием двоичного умножения и сложения.
Пример
Найти произведение 10012 x 1012.
Ответ: 10012 x 1012=1011012.
Задание 4
Выполните деление чисел и в двоичной системе счисления.
Методические указания
Деление двоичных чиселпроизводится так же, как и десятичных чисел, при этом используется двоичное умножение и вычитание.
Пример.
Найти частное от деления 1100,0112:10,012
Ответ: 1100,0112:10,012 = 101,12.
Задания для самостоятельной работы
Вариант | Заданы двоичные числа X и Y. Вычислить X+Y и X-Y, если: | Заданы двоичные числа X и Y. Вычислить X*Y и X/Y, если: |
1. | Х=100101,1012 Y=11101,112 | Х=100101,0112 Y=110,12 |
2. | Х=101101,1012 Y=1101,1112 | Х=110000,112 Y=110,12 |
3. | Х=110101,1012 Y=11101,112 | Х=111001,00012 Y=1010,0112 |
4. | Х=1101111,1012 Y=10101,112 | Х=111011,00012 Y=101,012 |
5. | Х=1000111,112 Y=11101,1112 | Х=111100,0112 Y=101,112 |
6. | Х=1110001,1012 Y=10011,112 | Х=110110,1012 Y=100,112 |
7. | Х=1010001,1012 Y=10011,112 | Х=100110,00012 Y=111,012 |
8. | Х=1000011,1012 Y=10011,0112 | Х=101011,1112 Y=110,112 |
9. | Х=1101001,1012 Y=10111,112 | Х=1010110,1012 Y=1000,012 |
10. | Х=1010001,1012 Y=1111,0112 | Х=111111,012 Y=101,12 |
11. | Х=101001,1012 Y=10111,1112 | Х=1011010,1012 Y=111,012 |
12. | Х=1010111,1012 Y=11100,1112 | Х=1000101,00112 Y=110,112 |
13. | Х=110101,1012 Y=1111,112 | Х=100101,0112 Y=110,12 |
14. | Х=101111,1012 Y=1101,1112 | Х=100000,11012 Y=101,012 |
15. | Х=110101,0112 Y=10011,112 | Х=110111,112 Y=101,112 |
16. | Х=1001011,112 Y=10101,1012 | Х=100101,112 Y=111,012 |
17. | Х=100011,0112 Y=10011,1112 | Х=100011,012 Y=1011,12 |
18. | Х=1010001,1012 Y=1011,0112 | Х=100001,1012 Y=1001,012 |
19. | Х=110001,1012 Y=10111,112 | Х=111001,1012 Y=1101,112 |
20. | Х=1000111,0112 Y=11111,112 | Х=1010111,0112 Y=111,112 |
21. | Х=111001,1012 Y=1110,1112 | Х=11100001,1012 Y=110,112 |
22. | Х=100001,1012 Y=1111,1112 | Х=1000001,1012 Y=1111,012 |
23. | Х=1011101,1012 Y=10111,0112 | Х=1010101,1012 Y=100,0112 |
24. | Х=1111000,1012 Y=101111,112 | Х=1111001,0112 Y=1011,112 |
25. | Х=1100000,1012 Y=1111,1112 | Х=1100011,012 Y=11,1112 |
Контрольные вопросы
1) Каковы правила сложения двоичных чисел?
2) Каковы правила вычитания двоичных чисел?
3) Каковы правила умножения двоичных чисел?
4) Каковы правила вычитания двоичных чисел?
Лабораторная работа №4
Основы машинной арифметики
Цельработы. Изучить основы машинной арифметики, представления чисел в прямом, обратном и дополнительном кодах и арифметических операций над ними.
Любые данные (числа, текст, команды программ и др.) в памяти компьютера представлены двоичными кодами, которые представляют собой совокупность битов. В частности, двоичный код, содержащий 8 бит (говорят: «8 разрядов»), называется байтом. Для хранения данных используют следующие форматы двоичного кода: 8-разрядный (байт), 16-разрядный (полуслово), 32-разрядный (слово) и 64-разрядный (двойное слово).
Для выполнения арифметических операций используют специальные коды представления чисел, которые позволяют свести операцию вычитания чисел к арифметическому сложению этих кодов. Различают прямой, обратный и дополнительный коды. Прямой код используется для представления отрицательных чисел в памяти компьютера, а также при выполнении операций умножения и деления. Обратный и дополнительный коды применяются для выполнения операции вычитания, которую заменяют операцией сложения чисел с разными знаками: а - b = а + (-b).
В коде числа каждому разряду соответствует определенный элемент разрядной сетки. Для записи знака числа в разрядной сетке имеется строго определенный фиксированный разряд, обычно это крайний разряд разрядной сетки.
Замечание. Условимся при записи кода знаковый разряд числа отделять запятой от других разрядов. Если формат числа не указан, будем считать, что число 8-разрядное (байт).
Задание 1
Запишите следующие числа в прямом, обратном и дополнительном кодах.
а) 1101011; б) -101011; в) -101101; г) -1100111.
Методические указания
Прямой код целого числа.Под прямым кодом двоичного числа понимают запись самого числа. Значение знакового разряда для положительных чисел определяют равным нулю (0), для отрицательных чисел – единице (1). Например, если для записи кода используется байт, то:
Число | Прямой код |
+1101 | 00001101 |
-1101 | 10001101 |
Крайний левый разряд в прямом коде нами отведен под знак числа, остальные разряды – под само число. Число располагаем в разрядной сетке так, чтобы цифра младшего разряда числа занимала крайнюю правую ячейку.
Знаковый
разряд
Обратный код целого числа.Обратный код целого положительного числа совпадает с его прямым кодом. Для отрицательного числа обратный код строится заменой каждого незнакового байта его представления в прямом коде на противоположный (заменим 1 на 0, 0 на 1), знаковый разряд не изменяется.
Пример
Число | Прямой код | Обратный код | Замечание |
+11011 | 000011011 | 000011011 | Число положительное, обратный и прямой коды совпадают |
-11011 | 100011011 | 111100100 | Число отрицательное, каждый байт, кроме знакового, изменен на противоположный |
Дополнительный код целого числа.Дополнительный код положительного числа совпадает с его прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
Пример
Число | Прямой код | Обратный код | Дополнительный код |
+1110 | |||
-1110 |
Задание 2
Переведите числа X и У в прямой, обратный и дополнительный коды. Выполните сложение в обратном и дополнительном кодах. Результат переведите в прямой код. Полученный результат проверьте, используя правила двоичной арифметики.
а) X= - 11010; Y= 100111;
б) X= - 11101; Y= - 10011;
в) X=111010; Y= - 101111;
г) X= - 101110; Y= - 11101;
д) X=1101011; Y= - 1001110;
е) X= - 11011; Y= - 10111.
Методические указания
При сложении чисел в знаковом разряде могут появиться две цифры, вторую единицу от запятой называют единицей переноса.
При сложении чисел в дополнительном кодевозникающая единица переноса в знаковом разряде отбрасывается.
При сложении чисел в обратном кодевозникающая единица переноса в знаковом разряде прибавляется к младшему разряду суммы кодов.
Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код. При этом обратный код преобразуется в прямой заменой цифр во всех разрядах, кроме знакового, на противоположные. Дополнительный код преобразуется в прямой так же, как и обратный, с последующим прибавлением единицы к младшему разряду.
Примеры
Сложить X и Y в обратном и дополнительном кодах:
а) Х = 1111 и Y= -101. Сложим числа, пользуясь правилами двоичной арифметики:
Сложим числа используя коды:
Так как результат сложения является кодом положительного числа (знаку плюс (+) соответствует 0 в знаковом разряде), то:
(X+Y)обр=(X+Y)доп=(X+Y)пр .
б)Х= -101,У= -111.
Сложим числа, пользуясь правилами двоичной арифметики:
Сложим числа используя коды:
Так как сумма является кодом отрицательного числа (знак 1), то необходимо перевести результаты в прямой код:
· из обратного кода:
(X+Y)обр=11110011→ (X+Y)пр=10001100;
· из дополнительного кода:
(X+Y)доп=11110100→ (X+Y)пр=10001011+00000001=10001100.
Получили Х+ Y = -1100, результат совпадает с суммой, полученной по правилам двоичной арифметики.
Задание 3
Сложите числа Xи У в модифицированном обратном и модифицированном дополнительном восьмиразрядных кодах. При обнаружении переполнения увеличьте число разрядов в кодах и повторите суммирование. Результат переведите в прямой код. Полученный результат проверьте, используя правила двоичной арифметики:
а) X=1101101; Y=110101;
б) X=111101; Y= - 111001;
в) X= - 111010; Y= - 1100111;
г) X= - 11001; Y= - 100011;
д) X= - 10101; Y=111010;
е) X= - 1101; Y= - 111011.
Методические указания