Перевод чисел из одной позиционной системы счисления

В другую

Цель работы. Изучение методов и отработка навыков перевода чисел из одной позиционной системы счисления в другую.

Количество различных цифр р, используемых в позиционной системе, определяет название системы счисления и называется основаниемp-йсистемы счисления.

Любое число N в позиционной системе счисления с основанием р может быть представлено в виде полинома от основания р:

Перевод чисел из одной позиционной системы счисления - student2.ru ,

где N – число, Перевод чисел из одной позиционной системы счисления - student2.ru – цифры числа (коэффициенты при степенях р), р – основание системы счисления (р > 1).

Числа записывают в виде последовательности цифр:

Перевод чисел из одной позиционной системы счисления - student2.ru – точка в последовательности отделяет целую часть числа от дробной (коэффициенты при неотрицательных степенях от коэффициентов при отрицательных степенях). Точка опускается, если число целое (нет отрицательных степеней).

В компьютерных системах применяют позиционные системы счисления с недесятичным основанием: двоичную, восьмеричную, шестнадцатеричную.

В аппаратной основе ЭВМ лежат двухпозиционные элементы, которые могут находиться только в двух состояниях, одно из которых обозначается 0, а другое – 1. Поэтому арифметико-логической основной ЭВМ является двоичная система счисления.

Двоичная система счисления.Используется две цифры: 0 и 1. В двоичной системе любое число может быть представлено в виде Перевод чисел из одной позиционной системы счисления - student2.ru , где Перевод чисел из одной позиционной системы счисления - student2.ru либо 0, либо 1.

Эта запись соответствует сумме степеней числа 2, взятых с указанными коэффициентами:

Перевод чисел из одной позиционной системы счисления - student2.ru .

Восьмеричная система счисления.Используется восемь цифр: 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 Перевод чисел из одной позиционной системы счисления - student2.ru 10 с.с.

Перевод чисел из одной позиционной системы счисления - student2.ru Ответ: Перевод чисел из одной позиционной системы счисления - student2.ru .

б) Перевести Перевод чисел из одной позиционной системы счисления - student2.ru 10 с.с.

Перевод чисел из одной позиционной системы счисления - student2.ru .

Ответ: Перевод чисел из одной позиционной системы счисления - student2.ru .

в) Перевести Перевод чисел из одной позиционной системы счисления - student2.ru 10 с.с.

Перевод чисел из одной позиционной системы счисления - student2.ru .

Ответ: Перевод чисел из одной позиционной системы счисления - student2.ru .

Задание 2

Переведите целые числа из десятичной системы в восьмеричную, шестнадцатеричную и двоичную системы.

Методические указания

Перевод целых десятичных чисел в восьмеричную, шестнадцатеричную и двоичную системы осуществляется последовательным делением десятичного числа на основание той системы, в которую оно переводится, до тех пор, пока не получится частное, равное нулю. Число в новой системе записывается в виде остатков от деления, начиная с последнего.

Примеры.

а) Перевести Перевод чисел из одной позиционной системы счисления - student2.ru 8 с.с.

Перевод чисел из одной позиционной системы счисления - student2.ru

Можно записать:

181: 8 = 22 (остаток 5)

22: 8 = 2 (остаток 6)

2:8 = 0 (остаток 2)

Ответ: Перевод чисел из одной позиционной системы счисления - student2.ru .

б) Перевести Перевод чисел из одной позиционной системы счисления - student2.ru 16 с.с.

Перевод чисел из одной позиционной системы счисления - student2.ru

Можно записать:

622:16=38 (остаток Перевод чисел из одной позиционной системы счисления - student2.ru )

38:16=2 (остаток 6)

2:16=0 (остаток 2)

Ответ: Перевод чисел из одной позиционной системы счисления - student2.ru .

Задание 3

Переведите правильные десятичные дроби из десятичной системы в восьмеричную, шестнадцатеричную и двоичную системы.

Методические указания

Для перевода правильной десятичной дроби в другую систему эту дробь последовательно умножают на основание той системы, в которую она переводится. При этом умножаются только дробные части полученных произведений. Если в результате умножения на некотором шаге дробная часть становится равной нулю, это означает, что получили конечную дробь в новой системе счисления. В новой системе дробь записывается в виде целых частей полученных произведений, начиная с первого. Не все конечные дроби в результате перевода станут конечными, зачастую в новой системе счисления получается бесконечная дробь.

Примеры

Перевести Перевод чисел из одной позиционной системы счисления - student2.ru 8 с.с.

Перевод чисел из одной позиционной системы счисления - student2.ru

Условно отделим вертикальной чертой целую и дробную части полученных произведений.

Результат перевода есть последовательность цифр, состоящих из целых частей произведений, записанная сверху вниз.

Ответ: Перевод чисел из одной позиционной системы счисления - student2.ru .

Задание 4

Переведите неправильные десятичные дроби из десятичной системы в восьмеричную, шестнадцатеричную и двоичную системы.

Методические указания

Для перевода неправильной десятичной дроби в систему счисления с недесятичным основанием необходимо отдельно перевести целую часть и отдельно дробную.

Пример

Перевести Перевод чисел из одной позиционной системы счисления - student2.ru 2 с.с.

1. Переведем целую часть:

Перевод чисел из одной позиционной системы счисления - student2.ru

2. Переведем дробную часть:

Перевод чисел из одной позиционной системы счисления - student2.ru

Получили Перевод чисел из одной позиционной системы счисления - student2.ru ; Перевод чисел из одной позиционной системы счисления - student2.ru .

Результат перевода Перевод чисел из одной позиционной системы счисления - student2.ru .

Ответ: Перевод чисел из одной позиционной системы счисления - student2.ru .

Задание 5

Переведите числа из восьмеричной и шестнадцатеричной систем счисления в двоичную систему.

Методические указания

Для перевода восьмеричного или шестнадцатеричного числа в двоичную форму достаточно заменить каждую цифру этого числа соответствующим трехразрядным двоичным числом (триадой) (см. табл. 1) или четырехразрядным двоичным числом (тетрадой) (см. табл. 1), при этом отбрасывают незначащие нули в старших и младших (после запятой) разрядах.

Примеры

а) Перевод чисел из одной позиционной системы счисления - student2.ru ;

б) Перевод чисел из одной позиционной системы счисления - student2.ru

Задание 6

Переведите числа из восьмеричной и шестнадцатеричной систем счисления в двоичную систему.

Методические указания

Для перехода от двоичной к восьмеричной (шестнадцатеричной) системе поступают следующим образом: двигаясь от точки влево и вправо, разбивают двоичное число на группы по три (четыре) разряда, дополняя при необходимости нулями крайние левую и правую группы. Затем триаду (тетраду) заменяют соответствующей восьмеричной (шестнадцатеричной) цифрой.

Примеры

а) Перевести Перевод чисел из одной позиционной системы счисления - student2.ru

Перевод чисел из одной позиционной системы счисления - student2.ru

б) Перевести Перевод чисел из одной позиционной системы счисления - student2.ru

Перевод чисел из одной позиционной системы счисления - student2.ru

Задание 7

Переведите числа из восьмеричной в шестнадцатеричную систему счисления и из шестнадцатеричной в восьмеричную систему счисления.

Методическиеуказания

Перевод из восьмеричной в шестнадцатеричную систему и обратно осуществляется через двоичную систему с помощью триад и тетрад.

Пример

Перевести Перевод чисел из одной позиционной системы счисления - student2.ru

Перевод чисел из одной позиционной системы счисления - student2.ru

Ответ: Перевод чисел из одной позиционной системы счисления - student2.ru .

Задания для самостоятельной работы

Вариант Переведите числа в 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можно представить в виде суммы

Перевод чисел из одной позиционной системы счисления - student2.ru

Данное разложение на слагаемые объясняет правило вычитания в столбик. Если вы занимаете 1 из ближайшего старшего разряда, тогда над всеми следующими за единицей нулями следует дописывать 1, а над крайним нулем, для которого произведен заем, 1 + 1 или 10.

2) Выполнить вычитание: 1100000011,0112 – 101010111,12

Ответ: 1100000011,0112 – 101010111,12 =110101011,1112

Задание 3

Выполните умножение чисел Перевод чисел из одной позиционной системы счисления - student2.ru и Перевод чисел из одной позиционной системы счисления - student2.ru в двоичной системе счисления.

Методические указания

Правила умножения двоичных чиселтакие же, как и для умножения десятичных чисел в столбик, с использованием двоичного умножения и сложения.

Пример

Найти произведение 10012 x 1012.

Ответ: 10012 x 1012=1011012.

Задание 4

Выполните деление чисел Перевод чисел из одной позиционной системы счисления - student2.ru и Перевод чисел из одной позиционной системы счисления - student2.ru в двоичной системе счисления.

Методические указания

Деление двоичных чиселпроизводится так же, как и десятичных чисел, при этом используется двоичное умножение и вычитание.

Пример.

Найти частное от деления 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.

Методические указания

Наши рекомендации