Главная страница

ПРАКТИКУМ ПО ОМПТ. Практикум по основам микропроцессорной техники Саранск 2003 удк 004. 384 378. 146147


Скачать 0.74 Mb.
НазваниеПрактикум по основам микропроцессорной техники Саранск 2003 удк 004. 384 378. 146147
АнкорПРАКТИКУМ ПО ОМПТ
Дата29.05.2022
Размер0.74 Mb.
Формат файлаdoc
Имя файлаПРАКТИКУМ ПО ОМПТ.doc
ТипПрактикум
#555855
страница2 из 18
1   2   3   4   5   6   7   8   9   ...   18

1.2. Перевод чисел из одной системы счисления в другую


Основания восьмеричной и шестнадцатеричной систем счисления выражаются целой степенью двух (8 = 23; 16 = 24). Этим объясняется простота преобразования чисел между этими системами и двоичной системой счисления.

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

735,24Q = 111 011 101, 010 100B

---- ---- ---- ---- ----

7 3 5 2 4

Перевод в двоичную систему счисления шестнадцатеричных чисел достигается заменой цифр шестнадцатеричного представления 4-разрядными двоичными числами. Например,

АЗВ,С9H = 1010 0011 1011, 1100 1001B

------ ------ ------ ------ ------

А 3 В С 9

При обратном переводе чисел из двоичной системы в восьмеричную или шестнадцатеричную систему счисления необходимо разряды двоичного числа, отсчитывая их от запятой влево и вправо, разбить на группы по три разряда (в случае перевода в восьмеричную систему) или на группы по четыре разряда (в случае перевода в шестнадцатеричную систему счисления). Неполные крайние группы дополняются до полных нулями. Затем каждая двоичная группа представляется цифрой той системы счисления, в которую переводится число. Например,

001 111, 101 010B = 17,52Q

---- ---- ---- ----

1 7 5 2

0101 1100, 1011 0110B = 5С,В6H

------ ------- ------ ------

5 С В 6

Восьмеричная и шестнадцатеричная системы счисления при работе с цифровой вычислительной техникой используются для компактного представления двоичной информации – адресов, данных, команд и т.д. Какая именно применяется система счисления, зависит от традиций, сложившихся при работе с теми или иными средствами вычислительной техники. Так, для микропроцессора КР580ВМ80А обычно используется шестнадцатеричная система счисления.

Сложнее выполняется перевод чисел между десятичной и двоичной, восьмеричной или шестнадцатеричной системами счисления. Перевод из любой системы счисления в десятичную может быть выполнен, как это было показано в разделе “Системы счисления”, путем суммирования цифр в записи числа, умноженных на весовые коэффициенты соответствующих разрядов. Перевод из десятичной системы счисления в систему с другим основанием может быть выполнен с помощью универсального метода деления-умножения. Суть метода состоит в последовательном делении целой части числа на основание той системы счисления, в которую осуществляется перевод, до тех пор, пока не получится остаток, меньший основания. Дробная часть переводится путем последовательного умножения ее на основание той системы счисления, в которую осуществляется перевод, до тех пор, пока не получится целое число, или же будет достигнута заданная точность.

Рассмотрим в качестве примера перевод числа 39519,78215D из десятичной в шестнадцатеричную систему счисления. Сначала преобразуем целую часть числа. Последовательно деля ее и образующиеся частные на 16, получаем в последнем частном и остатках цифры всех разрядов шестнадцатеричного представления целой части числа (старший разряд получается последним):

39519 |16­

39504 ­2469 |16

15 2464 154 |16

5 144 9

10

Отсюда 39519D = 9А5FH.

Теперь преобразуем дробную часть десятичного числа в шестнадцатеричную систему счисления. Необходимо последовательно умножать на 16 дробную часть исходного десятичного числа и дробные части образующихся произведений. При этом целые части этих произведений являются цифрами шестнадцатеричного представления:

0,78215

*16

12,51440  C

*16

8,2304  8

*16

3,6864  3

*16

10,9824  A

*16

15,7184  F

*16

11,4944  B

Таким образом, 0,78215D = 0,С83АFBH, а 39519,78215D = 9A5F,C83BH (с округлением до 4 цифр в дробной части числа).

Рассмотрим теперь перевод чисел из двоично-десятичной формы представления в двоичную и обратно, основанный на методе разложения чисел по так называемой схеме Горнера. Такой перевод может быть выполнен в двоичной системе счисления непосредственно цифровым устройством.

Перевод чисел из двоично-десятичной формы представления в двоичную (прямой перевод) выполняется в зависимости от порядка числа по следующим формулам.

1. Эквивалент целого десятичного числа А в двоичной системе счисления

А' = ((... (аn10 + an-1)10 + ... + а2)10 + a1)10 + а0, (2)

где n – число десятичных разрядов А, аiдесятичная цифра в двоичном коде.

Вычисления выполняются по правилам двоичной арифметики.

2. Эквивалент правильной десятичной дроби А в двоичной системе

А' = 10-1-1 + 10-1-2 + ... + 10-1(a-(n-1)+ 10-1а-n) ... )) (3)

Вычисления выполняются по правилам двоичной арифметики.

3. Эквивалент А' смешанной десятичной дроби А получается путем раздельного преобразования целой и дробной частей по формулам (2) и (3) с последующей “сшивкой” результатов.

Перевод двоичных чисел в двоично-десятичный код (обратный перевод)выполняется по следующим формулам.

1. Эквивалент А целого двоичного числа А' в десятичной системе определяется путем последовательного определения количества десятичных весов в исходном значении и преобразования их в двоичный код

аn = Ent [А'/10 n]

аn-1 = Ent [(А' – an 10 n)/10 n - 1]

аn-2 = Ent [(А' – an 10 n – an-1 10 n - 1 )/10 n - 2] (4)

… …

а0 = Ent [(А' – an 10 n – an-1 10 n - 1 – an-2 10 n – 2 - … - a1 101)/10 0]

2. Эквивалент А правильной двоичной дроби А' в десятичной системе получается путем последовательного определения количества дробных десятичных весов в исходном значении и преобразования их в двоичный код:

а-1 = Ent А'10

а-2 = Ent (А'10 - а-1)10

а-3 = Ent ((А'10 - а-1)10 – a-2)10 (5)

… …

а-n = Ent (…((А'10 - а-1)10 – a-2)10 - … - а-(n-1))10

Ent – операция выделения целой части числа.

3. Смешанные дроби разбиваются на целую и дробную части, десятичный эквивалент получается путем «сшивки» результатов перевода каждой части по формулам (4) и (5).
1   2   3   4   5   6   7   8   9   ...   18


написать администратору сайта