ПЕРЕВОД ЧИСЕЛ ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ

Лабораторная работа №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



ROOT"]."/cgi-bin/footer.php"; ?>