Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Система счисленияэто определенный способ представления чисел и соответствующие ему правила действия над числами. Сущность позиционного представления чисел отражается в развернутой форме записи чисел

ab = an bn + an-1 bn-1 +... + a1 b1 + a0 b0 + a-1 b-1 +... a-m b-m,

где {а } - алфавит системы счисления, i позиция, b - основание системы, …, b-2 , b-1 , 1, b, b2 , b3 , …, bn , … базис

Перевод чисел из произвольной системы счисления в десятичную (b=10)

Такой перевод осуществляется по правилам десятичной с помощью формулы

ab = an bn + an-1 bn-1 +... + a1 b1 + a0 b0 + a-1 b-1 +... a-m b-m,

Пример. 10111012 - > Х10

10111012 =1*26 + 0*25 + 1*24 + 1*23 + 1*22 +0*2 + 1*20 =64+16+8+4+1=9310

Ответ: 9310

Как пеpевести правильную конечную b-ичную дpобь в десятичную?

По схеме Горнера a=((((a-m b-1 + a-m+1)*b-1+… a-3)*b-1 + a-2)*b-1 + a-1)* b-1

Дана правильная конечная дробь =0, a-1a-2…a-m

Требуется получить запись этой дроби в десятичной системе счисления. Для решения этой задачи представим дробь в развернутой форме

a = a-1 b-1+a-2 b-2 +a-3 b-3 +…a-m+1 b-m+1+ a-m b-m =

=((((a-m b-1 + a-m+1)*b-1+… a-3)*b-1 + a-2)*b-1 + a-1)* b-1

Данное выражение называется схемой Горнера для вычисления значения b-ичной дроби в десятичной системе счисления (цифры в дроби по Горнеру нужно выписывать в обратном порядке))

Алгоритм. Для того, чтобы исходную, правильную дробь

0, a-1a-2…a-m заменить равной ее правильной десятичной дробью, необходимо

1. Получить a-m b-1 , для этого цифру младшего разряда дроби разделить на основание b, по правилам десятичной арифметики

2. Получить (a-m b-1 + a-m+1), для этого к полученному частному прибавить цифру следующего (более старшего разряда)

3. Получить (a-m b-1 + a-m+1)*b-1 для этого с полученной суммой, как с первой взятой цифрой, смотри пункт 1

4. Эти операции продолжать до тех пор, пока не будет прибавлена цифра старшего разряда искомой дроби (((a-mb-1 + a-m+1)*b-1+… a-3)*b-1 + a-2)*b-1 + a-1)

5. Получить ((((a-m b-1 + a-m+1)*b-1+… a-3)*b-1 + a-2)*b-1 + a-1)* b-1, для этого полученную сумму разделить еще раз на b

 

Пример. Перевести в десятичную систему дроби

1) 0, 11012=X10 (рассматриваем цифры в обратном порядке) 1: 2=0, 5 0, 5+0=0, 5 0, 5: 2=0, 25 0, 25+1=1, 25 1, 25: 2=0, 625 0, 625+1=1, 625 1, 625: 2=0, 8125 Ответ: 0, 11012= 0, 812510 2) 0, 3568=0, X10 (рассматриваем цифры в обратном порядке) 6: 8=0, 75 0, 75+5=5, 75 5, 75: 8=0, 371875 0, 371875+3=3, 371875 3, 371875: 8=0, 46484375 Ответ: 0, 3568=0, 4648437510 3) 0, A6E16=0, X10 (рассматриваем цифры в обратном порядке) 14: 16=0, 875 0, 875+6=6, 875 6, 875: 16=0, 4296875 0, 4296875+10=10, 4296875 10, 4296875: 16=0, 65185546875 Ответ: 0, A6E16=0, 6518554687510

Как перевести целое число из десятичной системы (b=10) в любую другую позиционную систему счисления?

Теорема: Преобразование чисел из десятичной системы счисления в систему счисления с основанием b производится последовательным делением исходного числа на основание системы b по правилам b- арифметики, пока частное не станет равным 0. Это деление в остатках дает запись числа-ответа в соответствующей системе, но в обратном порядке: от младшей цифры к старшей.

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

Ответ: 7510 = 10010112 = 1138 = 4B16.

Как перевести правильную десятичную дробь z=0, z-1z-2…z-m в любую другую позиционную систему счисления?

По формуле с выделением целой части. z*b=a-1+a-2 b-1 +a-3 b-2 +…a-m b-m+2+ a-m b-m+1

Алгоритм. Для того, чтобы исходную десятичную правильную дробь 0, z-1z-2…z-m заменить равной ее правильной дробью 0, a-1a-2…a-m, нужно

1. 0, z-1z-2…z-m умножить на основание b, по правилам десятичной арифметики, целую часть полученного произведения считать цифрой старшего разряда искомой дроби

2. Дробную часть полученного произведения вновь умножить на b, целую часть полученного результата считать следующей цифрой искомой дроби.

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

 

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

Ответ: 0, 3510 = 0, 010112 = 0, 2638 = 0, 5916.

Перевод чисел с применением MS Exсel.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.