Перевод чисел из одной системы счисления в другую
Стр 1 из 3Следующая ⇒ Лабораторная работа №1 Тема: Математические основы компьютерной техники Цель работы: изучение арифметических и логических основ работы ЭВМ.
СИСТЕМЫ СЧИСЛЕНИЯ Компьютер предназначен для ввода, обработки, хранения и вывода информации. Любая информация в компьютерах представляется с помощью чисел. Для записи чисел используются системы счисления (десятичная, двоичная, шестнадцатеричная). Системой счисления называют совокупность приемов и правил наименования и обозначения чисел, с помощью которых можно установить взаимно однозначное соответствие между любым числом и его представлением в виде совокупности конечного числа символов. Система счисления показывает, по каким правилам мы записываем числа и выполняем над ними действия (сложение, умножение и т.п.). Система счисления — это способ представления чисел. Количество символов, используемых в системе счисления, называют основанием этой системы счисления. Различают непозиционные и позиционные системы. В непозиционной системе счисления значение каждой цифры в любом месте последовательности цифр, означающей запись числа, не изменяется. Примером непозиционной системы счисления является так называемая римская система счисления. Здесь знак I всегда означает единицу, знак V — пять, знак X — десять. Действительно, в числе XXX, записанном в римской системе счисления, цифра X в любом месте означает десять. Запись чисел в непозиционной системе счисления громоздка и неудобна. Например, число 278 в римской системе счисления запишется в виде CCLXXVIII. В особенности неудобны и сложны в таких системах арифметические действия. Система счисления, в которой величина цифры определяется ее местоположением (позицией), называется позиционной. В позиционной системе счисления значение цифры зависит от ее места (позиции) в последовательности цифр, изображающих число. Место для цифры в числе называется разрядом, а количество цифр в числе называется разрядностью числа. Например, десятичное число 2981 является четырехразрядным. Разряды нумеруются справа налево, и каждому разряду соответствует степень основания.
Разряд 3 2 1 0 Название разряда Степень основания Число 2 9 8 1 1 Единицы 100 8 Десятки 101 9 Сотни 102 2 Тысячи 103
Примером позиционной системы счисления является десятичная система счисления, которой мы пользуемся. Например, в числе 555 значение цифры 5 зависит от позиции, в которой она находится. Значение цифры 5 в разряде десятков в десять раз больше ее значения в разряде единиц и в десять раз меньше ее значения в разряде сотен. Ввычислительной технике широкое применение нашли также двоичная и шестнадцатеричная системы счисления. В двоичной системе счисления используются два символа: 0 и 1, основание системы равно 2. Двоичная система используется в компьютерах потому, что электрическими сигналами очень просто обозначить двоичные цифры: 0 - нет сигнала и 1 - есть сигнал. В десятичной системе счисления — 10 символов: от 0 до 9. В шестнадцатеричной системе счисления — 16 символов: цифры от 0 до 9 и первые шесть букв латинского алфавита (от A до F). Шестнадцатеричная система счисления просто соотносится с двоичной системой: одна шестнадцатеричная цифра соответствует четырем двоичным разрядам. Несмотря на то, что десятичная система счисления имеет широкое распространение, электронно-вычислительные машины строятся на двоичных элементах, так как реализовать элементы с десятью четко различимыми состояниями сложно, шестнадцатеричная система счисления используется при составлении программ на языке машинных кодов для более короткой и удобной записи двоичных кодов — команд, данных, адресов и операндов.
Задача перевода из одной системы счисления в другую часто встречается при программировании. Отдельные стандартные процедуры языков программирования Паскаль, Бейсик, HTML, Си требуют задания параметров в шестнадцатеричной системе счисления. Для непосредственного редактирования данных, записанных на жесткий диск, также необходимо умение работать с шестнадцатеричными числами. Отыскать неисправность в ЭВМ практически невозможно без представления о двоичной системе счисления. Для обозначения используемой системы счисления нижним индексом указывают ее основание: 1510, 10112, 1EF9016. В общем случае в позиционной системе счисления с основанием Q любое число может быть представлено в виде полинома: X=AnQn + … +A1Q1 + A0Q0 + A-1Q-1 + A-2Q-2 + … + A-mQ-m (*) где в качестве коэффициентов Ai могут стоять любые символы, используемые в данной системе счисления. Принято представлять числа в виде последовательности соответствующих символов: X = An An - 1 … A1 A0 , A-1 A-2 … A-m запятая отделяет целую часть числа от дробной.
В таблице приведены двоичные эквиваленты (тетрады) шестнадцатеричных символов:
ПЕРЕВОД ЧИСЕЛ ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ Рассмотрим правила перевода чисел из одной системы счисления в другую. Для перевода шестнадцатеричного числа в двоичную систему счисления каждый символ исходного числа заменяется соответствующим четырехразрядным двоичным числом (см. таблицу). В полученном двоичном числе удаляются незначащие нули (крайние слева в целой части и крайние справа — в дробной). Пример 1. Перевести число 7D2,E16 из шестнадцатеричной системы счисления в двоичную. Решение:
7 D 2, E = 011111010010,1110 â â â â 0111 1101 0010, 1110 Ответ: 7D2,E16 = 11111010010,1112
Для перевода двоичного числа в шестнадцатеричную систему счисления поступают следующим образом: двигаясь от десятичной запятой сначала влево, затем вправо, разбивают двоичное число на группы по четыре разряда, дополняя, при необходимости, нулями крайние левую и правую группы. Затем каждую группу из четырех разрядов заменяют соответствующим шестнадцатеричным символом (см. таблицу).
Пример 2. Перевести число 10111110001,0012 из двоичной системы счисления в шестнадцатеричную. Решение: 0101 1111 0001, 0010 = 5F1,2 â â â â 5 F 1, 2 Ответ: 10111110001,0012 = 5F1,216
Для перевода двоичного или шестнадцатеричного числа в десятичную систему счисления достаточно представить число в виде полинома (*), подставив в него известные коэффициенты, и вычислить сумму. Пример 3. Перевести число 11011,112 из двоичной системы счисления в десятичную. Решение: 11011,11 = 1*24 + 1*23 + 0*22 + 1*21 + 1*2° + 1*2-1 +1*2-2 = = 16+8+0+2+1+0,5+0,25 = 27,75 Ответ: 11011,112 = 27,7510 Пример 4. Перевести число 4A,116 из шестнадцатеричной системы счисления в десятичную. Решение: 4А,1 = 4*161 + 10*16° + 1*16-1 = 64+10+0062,5 = 74,0625 Ответ: 4А,116 = 74,062510
Для перевода целого десятичного числа в двоичную систему счисления необходимо делить это число, а затем получаемые частные на 2 до тех пор, пока частное не станет равным 1. Последнее частное и остатки записывают в порядке, обратном их получению. Пример 5. Перевести число 2510 из десятичной системы счисления в двоичную: Решение: Ответ: 2510 = 110012 Для перевода целого десятичного числа в шестнадцатеричную систему счисления необходимо делить это число, а затем получаемые частные на 16 до тех пор, пока частное не станет меньше 16. Последнее частное и остатки записывают в порядке, обратном их получению. Пример 6. Перевести число 17710 из десятичной системы счисления в шестнадцатеричную: Решение: Ответ: 17710 = В116
Для перевода правильной десятичной дроби (целая часть равна 0) в двоичную систему счисления необходимо умножать исходную дробь и дробные части получающихся произведений на 2. Операцию умножения повторяют до тех пор, пока дробная часть произведения не станет равной 0 или не будет достигнута заданная точность (определенное количество символов). Целые части получающихся произведений дают последовательность цифр, которая является записью полученного двоичного числа.
Пример 7. Перевести правильную десятичную дробь 0,187510 в двоичную систему счисления. Ответ: 0,187510 = 0,00112
Для перевода правильной десятичной дроби в шестнадцатеричную систему счисления необходимо умножать исходную дробь и дробные части получающихся произведений на 16. Операцию умножения повторяют до тех пор, пока дробная часть произведения не станет равной 0 или не будет достигнута заданная точность. Целые части получающихся произведений дают последовательность цифр, которая является записью полученного шестнадцатеричного числа. Пример 8. Перевести правильную десятичную дробь 0,4710 из десятичной системы счисления в шестнадцатеричную с точностью до пяти знаков. Решение. Ответ: 0,4710 = 0,7851Е16
При переводе неправильной десятичной дроби в двоичную и шестнадцатеричную системы счисления отдельно переводят целую и дробную части, руководствуясь соответствующими правилами. Пример 9. Перевести число 9,625 из десятичной системы счисления в двоичную. Решение: Переведем целую часть десятичного числа в двоичную систему счисления (см. пример 5): 910 = 10012 Затем переведем правильную дробь (см. пример 7): 0,62510 = 0,1012
Ответ: 9,62510 = 1001,1012 Пример 10. Перевести число 399,125 из десятичной системы счисления в шестнадцатеричную. Решение: Переведем целую часть десятичного числа в шестнадцатеричную систему счисления (см. пример 6): 39910 = 18F16 Затем переведем правильную дробь (см. пример 8): 0,12510=0,216 Ответ: 399,12510 = 18F,216 При переводе чисел из десятичной системы счисления в шестнадцатеричную и наоборот иногда применяют так называемый «двойной перевод», когда в качестве промежуточного используют двоичное число. Перевод осуществляют по схеме 10 ® 2®16 или 16®2®10. Пример 11. Перевести число 741,62510 из десятичной системы счисления в шестнадцатеричную. Решение: Переведем десятичное число в двоичную систему счисления (см. пример 9): 741,62510 = 1011100101,1012 Затем переведем полученное двоичное число в шестнадцатеричную систему счисления (см. пример 2): 1011100101,1012 = 2Е5,А16 Ответ: 741,62510 = 2E5,A16 Пример 12. Перевести число DC,216 из шестнадцатеричной системы счисления в десятичную. Решение: Переведем шестнадцатеричное число в двоичную систему счисления (см. пример 1): DC,216 = 11011100,0012 Затем полученное двоичное число переведем в десятичную систему счисления (см. пример 3): 11011100,0012 = 200,12510 Ответ: DC,216 = 200,12510
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|