Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие Эконом информатика 26.06. 2014 Microsof...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.76 Mб
Скачать

1.1. Перевод из одной системы счисления в другую

Как отмечалось выше, в позиционной системе счисления значение цифры зависит от её позиции в записи числа. Например, число 12345,67810 =1*104 + 2*103 +3*102 + 4*101 + 5*100 + 6*10-1 + 7*10-2 + 8*10-3. Это число содержит (начинаем считать влево от десятичной точки) 5 единиц, 4 десятки, 3 сотни, 2 тысячи и 1 десятитысячную единицу; (начинаем считать вправо от десятичной точки) 6 десятых, 7 сотых, 8 тысячных. Т.о. для того, чтобы определить значение цифры в позиционной системе счисления необходимо первую левую цифру от десятичной точки (запятой) умножить на 100 = 1, а далее, двигаясь влево от десятичной точки, увеличивать, а двигаясь вправо, уменьшать показатель степени на единицу. Аналогично, при использовании системы счисления с основанием Р, число (аk аk-1 ... а0, а-1 а-2... а-s)p= аk*pk + аk-1*pk-1 + ...+ а0*p0 + а-1*p-1 + а-2*p-2 + ...+ а-s*p-s. Здесь p основание системы счисления – любое целое число большее или равное двум. Рассмотрим число в шестеричной системе счисления, используя для записи числа, следующие шесть символов 0,1,2,3,4,5.

Пример 1.1. 10251,136 = 1*64 + 0*63 +2*62 +5*61 +1*60 +1*6-1 +3*6-2 . Если подсчитать это число с использованием десятичной арифметики, то в десятичной системе счисления результат будет следующим 1399,2510.

Число шесть в шестеричной системе счисления записывается как 10, т.к. символа 6 нет в шестеричной системе счисления. Очевидно, что 2676 заведомо неправильная запись, т.к. в шестеричной системе счисления используются только цифры 0,1,2,3,4,5 , а цифры 6,7 не применяются.

Рассмотрим шестнадцатеричную систему счисления. Для обозначения цифр в шестнадцатеричной системе счисления используются следующие 16 символов: 0,1,2,...,9,A,B,C,D,E,F. Тогда, например, число 1AE2F16 = 1*164 + A*163 + E*162 + 2*161 + F*160. В шестнадцатеричной системе счисления A=10, B=11, C=12, D=13, E=14, F=15, поэтому 1AE2F16 = 1*164 + 10*163 + 14*162 + 2*161 + 15*160 = 11012710. Здесь при переводе числа в десятичную систему счисления также использовалась десятичная арифметика.

Для перевода любого числа из десятичной в любую другую с основанием q систему счисления, необходимо исходное число представить в виде целой и дробной части, т.е. A=C+D.

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

Пример 1.2. Перевести число 1399 (целая часть примера 1) в шестеричную систему счисления.

1399 6

1398 233 6

228 38 6

36 6 6

6

Алгоритм здесь следующий: 1399 делим на 6, запоминаем остаток 1, частное от деления 233 опять делим на 6, запоминаем остаток 5 и т.д., полученные остатки записываем в обратном порядке 10251. Результат сравнить с примером 1.

Пример 1.3. Перевести число 11012710 в шестнадцатеричную систему счисления. Также как и в предыдущем примере число 110127 делим на 16, запоминая остаток, а полученное частное опять делим на 16 пока не получим остаток, который дальше не делится. Полученные остатки записываем в обратном порядке, учитывая, что в шестнадцатеричной системе счисления 10=A, 14=E, 15=F, т.е. 1AE2F16. Результат сравнить с примером выше, в котором число 1AE2F16 переводится в десятичную систему счисления как 11012710.

110127 16

110112 6882 16

6880 430 16

416 26 16

16

Для перевода правильной дроби D из десятичной в любую другую систему счисления можно воспользоваться методом умножения этой дроби на число, являющееся основанием новой системы счисления. Чтобы определить первую цифру дробной части D числа A в системе счисления с основанием q , нужно D умножить на q . Полученная целая часть – искомая цифра. Каждая следующая цифра – целая часть от умножения дробной части предыдущего результата на q (она < q , т.к. умножается на правильную дробь).

Пример 1.4. Число 0,2510 (дробная часть примера 1) перевести в шестеричную систему счисления, т.е. найти X6.

0, 25

6

1 50

6

3 00

Алгоритм следующий: в десятичной системе счисления правильная дробь 0,2510 имеет два знака после запятой, поэтому при умножении на 6 в правом столбце оставляем две цифры, остальные переносим в левый столбец. Записывая цифры левого столбца сверху вниз, получаем искомый результат X6 = 0,136. Результат сравнить с дробной частью примера 1. Для перевода числа 1399,2510 (см. пример 1) из десятичной системы счисления в шестеричную надо выделить целую и дробную части числа, т.е. 1399 и 0,25 и воспользоваться методом деления и умножения, соответственно.

Пример 1.5. Число 1231,12510 перевести в шестнадцатеричную систему счисления, т.е. найти X 16. Выделим целую 1231 и дробную части 0,125.

1231 16 0, 125

1216 76 16 16

64 2 000

Получили X 16 = 4CF,2; проверяем 4CF,216 = 4*162 + 12*16 + 15 + 2*16-1 = 1231,125.

Пример 1.6. Число 1231,12510 перевести в семеричную систему счисления, т.е. найти Y7. Выделим целую 1231 и дробную части 0,125. В результате вычислений получили 1231,12510 = 3406,0606...7, т.е. 0,12510 в семеричной системе счисления записывается в виде бесконечной периодической дроби 0,0606...7.

1 231 7 0, 125

1 225 175 7 7

175 25 7 0 875

21 7

6 125

7

0 875

7

6 125 ...