Перевод чисел из одной позиционной системы счисления в другую
Арифметические операции с числами в позиционных системах счисления
Системой счисления называется совокупность приемов наименования и записи чисел. В любой системе счисления для представления чисел выбираются некоторые символы (их называют цифрами), а остальные числа получаются в результате каких-либо операций над цифрами данной системы счисления.
Система называется позиционной, если значение каждой цифры (ее вес) изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число.
Число единиц какого-либо разряда, объединяемых в единицу более старшего разряда, называют основанием позиционной системы счисления. Если количество таких цифр равно P, то система счисления называется P-ичной. Основание системы счисления совпадает с количеством цифр, используемых для записи чисел в этой системе счисления.
Запись произвольного числа x в P-ичной позиционной системе счисления основывается на представлении этого числа в виде многочлена
x = anPn + an-1Pn-1 + ... + a1P1 + a0P0 + a-1P-1 + ... + a-mP-m
Арифметические действия над числами в любой позиционной системе счисления производятся по тем же правилам, что и десятичной системе, так как все они основываются на правилах выполнения действий над соответствующими многочленами. При этом нужно только пользоваться теми таблицами сложения и умножения, которые соответствуют данному основанию P системы счисления.
При переводе чисел из десятичной системы счисления в систему с основанием P>1 обычно используют следующий алгоритм:
1) если переводится целая часть числа, то она делится на P, после чего запоминается остаток от деления. Полученное частное вновь делится на P, остаток запоминается. Процедура продолжается до тех пор, пока частное не станет равным нулю. Остатки от деления на P выписываются в порядке, обратном их получению;
2) если переводится дробная часть числа, то она умножается на P, после чего целая часть запоминается и отбрасывается. Вновь полученная дробная часть умножается на P и т.д. Процедура продолжается до тех пор, пока дробная часть не станет равной нулю. Целые части выписываются после двоичной запятой в порядке их получения. Результатом может быть либо конечная, либо периодическая двоичная дробь. Поэтому, когда дробь является периодической, приходится обрывать умножение на каком-либо шаге и довольствоваться приближенной записью исходного числа в системе с основанием P.
Примеры решения задач
1. Перевести данное число из десятичной системы счисления в двоичную:
а) 464(10); б) 380,1875(10); в) 115,94(10) (получить пять знаков после запятой в двоичном представлении).
Решение.
В В В В 464 | 0В В В В В В 380 | 0В В В |1875В В В В В В В В В В В 115 | 1В В В В В |94
В В В В 232 | 0В В В В В В 190 | 0В В 0|375В В В В В В В В В В В В В 57 | 1В В В В 1|88
В В В В 116 | 0В В В В В В В 95 | 1В В 0|75В В В В В В В В В В В В В В 28 | 0В В В В 1|76
В В В В В 58 | 0В В В В В В В 47 | 1В В 1|5В В В В В В В В В В В В В В В 14 | 0В В В В 1|52
Р°)В В В 29 | 1В В Р±)В В 23 | 1В В 1|0В В В В В В В РІ)В В В В В В 7 | 1В В В В 1|04
В В В В В 14 | 0В В В В В В В 11 | 1В В В В В В В В В В В В В В В В В В В В В В 3 | 1В В В В 0|08
В В В В В В 7 | 1В В В В В В В В 5 | 1В В В В В В В В В В В В В В В В В В В В В В 1 | 1В В В В 0|16
В В В В В В 3 | 1В В В В В В В В 2 | 0
В В В В В В 1 | 1В В В В В В В В 1 | 1
а) 464(10)=111010000(2); б) 380,1875(10)=101111100,0011(2); в) 115,94(10)»1110011,11110(2) (в настоящем случае было получено шесть знаков после запятой, после чего результат был округлен).
Если необходимо перевести число РёР· двоичной системы счисления РІ систему счисления, основанием которой является степень РґРІРѕР№РєРё, достаточно объединить цифры двоичного числа РІ РіСЂСѓРїРїС‹ РїРѕ столько цифр, каков показатель степени, Рё использовать приведенный РЅРёР¶Рµ алгоритм. Например, если перевод осуществляется РІ восьмеричную систему, то РіСЂСѓРїРїС‹ Р±СѓРґСѓС‚ содержать три цифры (8=23). Ртак, РІ целой части будем производить РіСЂСѓРїРїРёСЂРѕРІРєСѓ справа налево, РІ РґСЂРѕР±РЅРѕР№ — слева направо. Если РІ последней РіСЂСѓРїРїРµ недостает цифр, дописываем нули: РІ целой части — слева, РІ РґСЂРѕР±РЅРѕР№ — справа. Затем каждая РіСЂСѓРїРїР° заменяется соответствующей цифрой РЅРѕРІРѕР№ системы. Соответствия приведены РІ таблицах.
P | 2 | 00 | 01 | 10 | 11 |
4 | 0 | 1 | 2 | 3 |
P | 2 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
8 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
P | 2 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
16 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Переведем из двоичной системы в шестнадцатеричную число 1111010101,11(2).
0011 1101 0101,1100(2)=3D5,C(16).
РџСЂРё переводе чисел РёР· системы счисления СЃ основанием P РІ десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная СЃ нулевого, Рё РІ РґСЂРѕР±РЅРѕР№ части, начиная СЃ разряда сразу после запятой слева направо (начальный номер -1). Затем вычислить СЃСѓРјРјСѓ произведений соответствующих значений разрядов РЅР° основание системы счисления РІ степени, равной номеру разряда. Рто Рё есть представление РёСЃС…РѕРґРЅРѕРіРѕ числа РІ десятичной системе счисления.
2. Перевести данное число в десятичную систему счисления.
Р°) 1000001(2).
1000001(2)=1Р§ 26+0Р§ 25+0Р§ 24+0Р§ 23+0Р§ 22+ 0Р§ 21+1Р§ 20=64+1=65(10).
Замечание. Очевидно, что если в каком-либо разряде стоит нуль, то соответствующее слагаемое можно опускать.
Р±) 1000011111,0101(2).
1000011111,0101(2)=1Р§29 + 1Р§24 + 1Р§23 + 1Р§22 + 1Р§21 + 1Р§20 + 1Р§2-2 + 1Р§2-4 = 512 + 16 + 8 + 4 + 2 + 1 + 0,25 + 0,0625 = 543,3125(10).
РІ) 1216,04(8).
1216,04(8)=1Р§83+2Р§82+1Р§81+6Р§80+4Р§ 8-2 = 512+128+8+6+0,0625 = 654,0625(10).
Рі) 29A,5(16).
29A,5(16) = 2Р§162+9Р§161+10Р§160+5Р§16-1 = 512+144+10+0,3125 = 656,3125(10).
Для выполнения арифметических операций в системе счисления с основанием P необходимо иметь соответствующие таблицы сложения и умножения. Для P = 2, 8 и 16 таблицы представлены ниже.
+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 2 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 3 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 4 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 5 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 6 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 7 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | | | Т‘ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 2 | 0 | 2 | 4 | 6 | 10 | 12 | 14 | 16 | 3 | 0 | 3 | 6 | 11 | 14 | 17 | 22 | 25 | 4 | 0 | 4 | 10 | 14 | 20 | 24 | 30 | 34 | 5 | 0 | 5 | 12 | 17 | 24 | 31 | 36 | 43 | 6 | 0 | 6 | 14 | 22 | 30 | 36 | 44 | 52 | 7 | 0 | 7 | 16 | 25 | 34 | 43 | 52 | 61 | |
+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 2 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 3 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 4 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 5 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 6 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 7 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 8 | 8 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 9 | 9 | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | A | A | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | B | B | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | C | C | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | D | D | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | E | E | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | F | F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | | | Т‘ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 2 | 0 | 2 | 4 | 6 | 8 | A | C | E | 10 | 12 | 14 | 16 | 18 | 1A | 1C | 1E | 3 | 0 | 3 | 6 | 9 | C | F | 12 | 15 | 18 | 1B | 1E | 21 | 24 | 27 | 2A | 2D | 4 | 0 | 4 | 8 | C | 10 | 14 | 18 | 1C | 20 | 24 | 28 | 2C | 30 | 34 | 38 | 3C | 5 | 0 | 5 | A | F | 14 | 19 | 1E | 23 | 28 | 2D | 32 | 37 | 3C | 41 | 46 | 4B | 6 | 0 | 6 | C | 12 | 18 | 1E | 24 | 2A | 30 | 36 | 3C | 42 | 48 | 4E | 54 | 5A | 7 | 0 | 7 | E | 15 | 1C | 23 | 2A | 31 | 38 | 3F | 46 | 4D | 54 | 5B | 62 | 69 | 8 | 0 | 8 | 10 | 18 | 20 | 28 | 30 | 38 | 40 | 48 | 50 | 58 | 60 | 68 | 70 | 78 | 9 | 0 | 9 | 12 | 1B | 24 | 2D | 36 | 3F | 48 | 51 | 5A | 63 | 6C | 75 | 7E | 87 | A | 0 | A | 14 | 1E | 28 | 32 | 3C | 46 | 50 | 5A | 64 | 6E | 78 | 82 | 8C | 96 | B | 0 | B | 16 | 21 | 2C | 37 | 42 | 4D | 58 | 63 | 6E | 79 | 84 | 8F | 9A | A5 | C | 0 | C | 18 | 24 | 30 | 3C | 48 | 54 | 60 | 6C | 78 | 84 | 90 | 9C | A8 | B4 | D | 0 | D | 1A | 27 | 34 | 41 | 4E | 5B | 68 | 75 | 82 | 8F | 9C | A9 | B6 | C3 | E | 0 | E | 1C | 2A | 38 | 46 | 54 | 62 | 70 | 7E | 8C | 9A | A8 | B6 | C4 | D2 | F | 0 | F | 1E | 2D | 3C | 4B | 5A | 69 | 78 | 87 | 96 | A5 | B4 | C3 | D2 | E1 | |
3. Сложить числа:
Р°) 10000000100(2) + 111000010(2) = 10111000110(2).
Р±) 223,2(8) + 427,54(8) = 652,74(8).
РІ) 3B3,6(16) + 38B,4(16) = 73E,A(16).
В В В 10000000100В В В В В В В В В В 223,2В В В В В В В В В В В 3B3,6
В В +В 111000010В В В В В В В В + 427,54В В В В В В В В В +38B,4
В В ------------В В В В В В В В В -------В В В В В В В В В В -----
В В В 10111000110В В В В В В В В В В 652,74В В В В В В В В В В 73E,A
4. Выполнить вычитание:
Р°) 1100000011,011(2) - 101010111,1(2) = 110101011,111(2).
Р±) 1510,2(8) - 1230,54(8) = 257,44(8).
РІ) 27D,D8(16) - 191,2(16) = EC,B8(16).
В В В В 1100000011,011В В В В В В В В В 1510,2В В В В В В В В В В 27D,D8
В В В - 101010111,1В В В В В В В В В В -1230,54В В В В В В В В -191,2
В В В В --------------В В В В В В В В В -------В В В В В В В В В ------
В В В В В 110101011,111В В В В В В В В В В 257,44В В В В В В В В В В EC,B8
5. Выполнить умножение:
Р°) 100111(2) Т‘ 1000111(2) = 101011010001(2).
Р±) 1170,64(8) Т‘ 46,3(8) = 57334,134(8).
РІ) 61,A(16) Т‘ 40,D(16) = 18B7,52(16).
В В В В В В В В В В В В В В В В 100111В В В В В В В В В В В В В В 1170,64В В В В В В В В В В В В В В В В 61,A
В В В В В В В В В В В В В В *1000111В В В В В В В В В В В В В *В В 46,3В В В В В В В В В В В В В В В *40,D
В В В В В В В В В -------------В В В В В В В --------------В В В В В В В В В В ----------
В В В В В В В В В В В В В В В В 100111В В В В В В В В В В В В В В 355 234В В В В В В В В В В В В В В В 4F 52
В В В В В В В В В +В В В В 100111В В В В В В В В В +В В В 7324 70В В В В В В В В В В В +В 1868
В В В В В В В В В В В В В В 100111В В В В В В В В В В В В В В 47432 0В В В В В В В В В В В В ----------
В В В В В В В В В В 100111В В В В В В В В В В В В В В -------------В В В В В В В В В В В В В 18B7,52
В В В В В В В В В -------------В В В В В В В В В В В В 57334,134
В В В В В В В В В В 101011010001
Задачи по позиционным системам счисления
Контрольные вопросы и задания
Дать определение системы счисления. Назвать и охарактеризовать свойства системы счисления.
Какие символы используются для записи чисел в двоичной системе счисления, восьмеричной, шестнадцатеричной?
Чему равны веса разрядов слева от точки, разделяющей целую и дробную часть, в двоичной системе счисления (восьмеричной, шестнадцатеричной)?
Чему равны веса разрядов справа от точки, разделяющей целую и дробную часть, в двоичной системе счисления (восьмеричной, шестнадцатеричной)?
Зашифруйте следующие десятичные числа, преобразовав их в двоичные (восьмеричные, шестнадцатеричные): 0, 1, 18, 25, 128.
Дешифруйте следующие двоичные числа, преобразовав их в десятичные: 0010, 1011, 11101, 0111, 0101.
Дешифруйте следующие восьмеричные числа, преобразовав их в десятичные: 777, 375, 111, 1015.
Дешифруйте следующие шестнадцатеричные числа, преобразовав их в десятичные: 15, A6, 1F5, 63.
Список литературы
Для подготовки данной работы были использованы материалы с сайта http://www.comp-science.narod.ru/