Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

A. Перевод целой части числа из P-ичной системы счисления в десятичную




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

Шестнадцатеричная система счисления.

Восьмеричная система счисления.

Алфавит включает восемь цифр 0,1,2,3,4,5,6,7, а основание системы p = 8 = 2↑3. Базис системы счисления 8↑i, т.е. вес разрядов целой части 1,8,64,256,…., а дробной части 1/8,1/64,1/256,… Например, восьмеричное число 756,25 равно десятичному - 494,328125:

7*8↑2 + 5*8↑1 + 6*8↑0 + 2*8↑(-1) + 5*8↑(-2) =

= 448 + 40 + 6 + 0,25 + 0,078125 = 494,328125

 

Алфавит и основание системы – 16 = 2↑4, т.е. для изображения чисел употребляется десять цифр и шесть букв латинского алфавита: 0, 1, 2, 3,….9, A (10), B (11), C (12), D (13), E (14), F (15). Шестнадцатеричное число А7В,С8(16) переводится в десятичное:

А7В,С8(16) = 10*16↑2 + 7*16↑1 + 11*16↑0 + 12*16↑(-1) + 8*16↑(-2) = 2560 + 112 + 11 + 0,75 + 0,03125 = 2683, 78125

 

4) Двоично-десятичная система счисления.

Данная система счисления имеет основание p = 10 и каждая цифра алфавита (0,1,2,3,4,5,6,7,8,9) изображается в этой системе счисления четырёхразрядным двоичным числом, называемым тетрадой (0–0000, 1–0001, 2–0010, 3-0011, 4-0100, 5-0101, 6-0110, 7-0111, 8-1000, 9-1001).Она используется в ЭВМ как вспомогательная система счисления при вводе и выводе данных и в качестве основной при решении некоторых задач (когда в ЭВМ вводится и выводится большое количество чисел, а вычислений над ними производится мало). Для ее реализации в АЛУ ЭВМ имеется блок десятичной арифметики. Использование двух основных систем счисления (двоичной и двоично-десятичной) позволяет создавать ЭВМ чрезвычайно высокой производительности.

Преобразование чисел из десятичной системы счисления в двоично-десятичную легко реализуется посредством простейших электронных схем. Двоично-десятичные числа преобразуются в десятичные автоматически в ЭВМ по особой программе перевода.

 

Теоретически возможно осуществить любой переход из q-ичной системы счисления в p-ичную систему счисления. Однако при этом придется выполнять операции по правилам арифметики указанных не десятичных систем счисления. Поэтому более удобна форма перехода через промежуточную систему счисления, например, десятичную. Следовательно, необходимо рассмотреть два варианта:

1) перевод чисел из p-ичной системы счисления в десятичную;

2) перевод чисел из десятичной системы счисления в p-ичную.

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

1) Перевод чисел из P-ичной системы в десятичную

 

Существует три варианта перевода: по формулам степенного ряда, по схеме Горнера, по правилам перевода.

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

Алгоритм перевода по формулам степенного ряда:

1) каждая цифра числа в Р-ичной системе счисления переводится в число в десятичной системе счисления – ai (p) в ai (10);

2) полученные числа нумеруются в сокращенной записи справа налево, начиная с нуля – i = 0, 1, 2, 3, …..n-1;

3) десятичное число, соответствующее i-ой цифре исходного числа, умножается на p↑i, где i – номер цифры в исходном числе, и результаты произведений складываются.

Все арифметические действия проводятся в десятичной системе счисления.

Пример. Перевести число B0F9(16) в десятичную систему счисления:

B0F9 (16) = [11(10)][0][15(10)][9] = 11*16**3 + 15*16 + 9 = 45305(10).

Чтобы избавиться от операции возведения в степень и минимизировать число арифметических операций при переводе применяется алгоритм Горнера (схема Горнера):

Пример 1. Перевести ABC(16) в десятичную систему счисления.

A = ABC(16) = (10*16 + 11)*16 + 12 = 171*16 + 12 = 2736 + 12 = 2748(10)

При переводе числа в двоичной системе счисления в десятичную систему необходимо в десятичной системе счисления сложить 2↑i для тех разрядов двоичного числа, где содержатся 1. В рассмотренном примере необходимо сложить 2↑6 + 2↑3 + 2↑2 + 2↑0 = 77(10)

 

Б. Перевод конечной Р-ичной дроби в десятичную.

 

Алгоритм перевода конечной Р-ичной дроби в десятичную:

целая часть числа переводится в десятичную систему отдельно;

каждая цифра дробной части числа в Р-ичной системе счисления переводится в число в десятичной системе;

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

десятичное число, соответствующее каждой p-ичной цифре, умножается на p↑(-k), где k – номер этого числа, и результаты складываются, причем все эти арифметические действия проводятся в десятичной системе счисления.

5) результаты перевода целой и дробной части числа складываются

Пример. Перевести число 0, B0F9 (16) в десятичную систему счисления.

0,B0F9(16) = 0, [11][0][15][9] = 11*16**(-1) + 15*16**(-3) + 9*16**(-4) = = 11*0,0625 + 15*0, 00390625 + 9*0,00024414 = 0,6912994384765625 (10)

В данном случае также рекомендуется использовать схему Горнера, что минимизирует количество арифметических действий.

Пример. Перевести число 0,B0F(16) в десятичную систему счисления по алгоритму Горнера: 1/16*(11 + 1/16*(0 + 1/16*15)) = 0,0625*(11+0,0625*0,0625*15) = 0,0625* 0,05859375 = 0,003662109.

 

2) Перевод числа из десятичной системы в P-ичную




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 3589; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.