|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
И шестнадцатеричную
Перевод чисел из десятичной системы в двоичную, восьмеричную и шестнадцатеричную более сложен и может осуществляться различными способами. Рассмотрим один из алгоритмов перевода на примере перевода чисел из десятичной системы в двоичную. При этом необходимо учитывать, что алгоритмы перевода целых чисел и правильных дробей будут различаться. Алгоритм перевода целых десятичных чисел в двоичную систему счисления. Пусть Ацд — целое десятичное число. Запишем его в виде суммы степеней основания 2 с двоичными коэффициентами. В его записи в развернутой форме будут отсутствовать отрицательные степени основания (числа 2): Ацд = аn-1•2n-1+аn-2•2n-2 +... + а1 •21+ а0•20. На первом шаге разделим число Ацд на основание двоичной системы, то есть на 2. Частное от деления будет равно an-1•2n-2 + аn-2•2n-3 +... + а1, а остаток — равен а0. На втором шаге целое частное опять разделим на 2, остаток от деления будет теперь равен а1 Если продолжать этот процесс деления, то после n-го шага получим последовательность остатков: а0,а1… аn-1 Легко заметить, что их последовательность совпадает с обратной последовательностью цифр целого двоичного числа, записанного в свернутой форме: А2 = аn-1...а1а0. Таким образом, достаточно записать остатки в обратной последовательности, чтобы получить искомое двоичное число. Алгоритм перевода целого десятичного числа в двоичное будет следующим: Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2) до тех пор, пока не получится частное, меньшее делителя, то есть меньшее 2. Записать полученные остатки в обратной последовательности. В качестве примера рассмотрим перевод десятичного числа 19 в двоичную систему, записывая результаты в таблицу:
В результате получаем двоичное число: A2 =a4a3a2a1a0=100112 Алгоритм перевода правильных десятичных дробей в двоичную систему счисления. Пусть Адд — правильная десятичная дробь. В ее записи в развернутой форме будут отсут- ствать положительные степени основания (числа 2): Адд = а-1 • 2-1 + а-2 •2-2 +... На первом шаге умножим число Aдд на основание двоичной системы, то есть на 2. Произведение будет равно: а-1 + а-2 • 21 +... Целая часть будет равна а-1 На втором шаге оставшуюся дробную часть опять умножим на 2, получим целую часть, равную а-2. Описанный процесс необходимо продолжать до тех пор, пока в результате умножения мы не получим нулевую дробную часть или не будет достигнута требуемая точность вычислений. Легко заметить, что последовательность полученных чисел совпадает с последовательностью цифр дробного двоичного числа, записанного в свернутой форме: А2 =a-1 a-2… Алгоритм перевода правильной десятичной дроби в двоичную будет следующим: Последовательно выполнять умножение исходной десятичной дроби и получаемых дробных частей произведений на основание системы (на 2) до тех пор, пока не получится нулевая дробная часть или не будет достигнута требуемая точность вычислений. Записать полученные целые части произведения в прямой последовательности. В качестве примера рассмотрим перевод десятичной дроби 0,75 в двоичную систему, записывая результаты в таблицу:
В результате получаем двоичную дробь: А2 = 0,a-1a-2 = 0,112 Перевод чисел из системы с основанием р в систему с основанием q. Перевод чисел из позиционной системы с произвольным основанием р в систему с основанием q производится по алгоритмам, аналогичным рассмотренным выше. Рассмотрим алгоритм перевода целых чисел на примере перевода целого десятичного числа А10 = 42410 в шестнадцатеричную систему, то есть из системы счисления с основанием р = 10 в систему счисления с основанием q = 16. В процессе выполнения алгоритма необходимо обратить внимание, что все действия необходимо осуществлять в исходной системе счисления (в данном случае десятичной), а полученные остатки записывать цифрами новой системы счисления (в данном случае шестнадцатеричной).
В результате получаем шестнадцатеричное число: A16 = a2a1a0 = 1A816 Рассмотрим теперь алгоритм перевода дробных чисел на примере перевода десятичной дроби А10 = 0,625 в восьмеричную систему, то есть из системы счисления с основанием р = 10 в систему счисления с основанием q = 8. В процессе выполнения алгоритма необходимо обратить внимание, что все действия необходимо осуществлять в исходной системе счисления (в данном случае десятичной), а полученные остатки записывать цифрами новой системы счисления (в данном случае восьмеричной).
В результате получаем восьмеричную дробь: A8 = а-1а -2= 0,328. Перевод чисел, содержащих и целую и дробную части, производится в два этапа. Отдельно переводится по соответствующему алгоритму целая часть и отдельно — дробная. В итоговой записи полученного числа целая часть от дробной отделяется запятой. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |