Перевод чисел из одной системы счисления в другую
Лабораторная работа №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
запятая отделяет целую часть числа от дробной.
В таблице приведены двоичные эквиваленты (тетрады)шестнадцатеричныхсимволов:
Двоичная система счисления | Десятичная система счисления | Шестнадцатеричная система счисления |
A | ||
B | ||
C | ||
D | ||
E | ||
F |
ПЕРЕВОД ЧИСЕЛ ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ
Рассмотрим правила перевода чисел из одной системы счисления в другую.
Для перевода шестнадцатеричного числа в двоичную систему счисления каждый символ исходного числа заменяется соответствующим четырехразрядным двоичным числом (см. таблицу). В полученном двоичном числе удаляются незначащие нули (крайние слева в целой части и крайние справа — в дробной).
Пример 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