Перевод записи числа из одной системы счисления в другую — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

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

2018-01-13 544
Перевод записи числа из одной системы счисления в другую 0.00 из 5.00 0 оценок
Заказать работу

В практике компьютеризации используются две основные системы счисления (обозначения) целых чисел без знака: десятичная и двоичная. Существуют достаточно простые алгоритмы перевода записи числа из одной системы счисления в другую.

Алгоритм 1. Перевод В-ной ® 10

Перевод В-ичной записи числа в десятичную запись числа

Для получения записи (d)10 числа d из записи (d)в, следует построить в системе с основанием В соответствующее каноническое выражение [е] в, представляя основание как 10;

Представляя элементы этого каноническое выражения [е]в в десятичной системе, перевести его в неканоническое выражение (е)10 десятичной системы;

Вычислить неканоническое выражение (е)10 и получить десятичную запись числа (d)10.

Примеры.

Перевод (запись числа)8 ® (запись числа)10

(d)8: запись - 8-й системы

[e]8: каноническое выражение 8-й системы

(e)10: выражение 10-й системы

(d)10: запись - 10-й системы

(125)8 =[1*102+2*101+5*100]8=(1*82+2*81+5*80)10 =(85)10

Перевод (запись числа)16 ® (запись числа)10

(d)16: запись - 16-й системы

[e]16: каноническое выражение 16-й системы

(e)10: выражение десятичной системы

(d)10: запись - десятичной системы

(125)16 =[1*102+2*101+5*100]16=(1*162+2*161+5*160)10=(293)10

Алгоритм 2. Перевод 10 ® В

Для перевода десятичной записи числа в В - ичную используются операции целочисленного деления, рис.1.6:

X mod Y - результатом является остаток от деления X на Y, X div Y - результатом является целая часть от деления X на Y.

В результате получается запись числа в системе с основанием В, записанная в обратном порядке.

Примеры.

Представить число 56 десятичной системы счисления в двоичной и 125 десятичной системы в восьмеричной системе счисления:

 
 

Перевод (запись числа)10 ® (запись числа)2

 


 
 

Рисунок 1.1 - Перевод десятичной записи числа в В-ичную запись того же числа

 

Перевод (запись числа)10 ® (запись числа)16

125½ 16 Ответ: [125]10 = [7D]16

112 7

13

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


Методика и порядок выполнения работы

 

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

 

Вариант Из 10-СС в 2 и 8 и 5 и 16-СС Из 10-СС в 2 и 8 и 5 и 16-СС Из 2-СС в 8 и 16-СС Из 10-СС в 2-СС
  17510 0,175910 1000001012 12,33510
  20910 0,209710 110010002 234,25410
  31610 0,316110 11001012 1,45310
  15510 0,155610 10111002 22,64610
  20710 0,207110 11000012 106,36710
  40110   100100002 26,02610
  26110 0,261210 1100100012 2,20710
  20010 0,200310 11100112 110,12310
  10110 0,101510 110010102 20,58910
  9210 0,927810 11110112 211,112110
  9710 0,978410   311,32110
  14410 0,144910   16,458110
  11510 0,115710   103,09810
  20210 0,202410   250,65310
  12310 0,123910   1,289910
  23410 0,234610   110,65410
  14510 0,145710   17,50910
  22610 0,226610   209,870410
  10610 0,106510   316,376510
  26010 0,260410   155,93210
  22010 0,220110   207,23410
  11010 0,110210   4,01510
  20510 0,205910   26,18410
  21110 0,211310   200,21310
  31110 0,311210   101,375410
  16110 0,161310   9,217510
  10310 0,103410   97,75610
  25010 0,250710   144,94110
  12910 0,129610   115,86310
  11010 0,110810   20,83210

2. Переведите восьмеричные и шестнадцатеричные числа в двоичную систему счисления, а из двоичной – в десятичную систему счисления.

 

Вариант 8-СС 16-СС Вариант 8-СС 16-СС
    1АЕ2     7D5A
    1С1С     A1B2D
    2АВ5     6F15
    34Е6     ACDF
    2FBD1     1F45
    1375BF     EDAB5
    34FC1     253FA
    24FD     1657FD
    FDFF     FFFFE
    D3BF     DDFDF
    164F     BFDE
    FEDC     ABDF3
          642FD
    AC43     F53D7
    FCA4     26ABC

 

Вопросы для защиты работы

1. Дайте определение системе счисления. Какие системы счисления вы знаете? Охарактеризуйте их.

2. Как представляются целые неотрицательные числа?

3. Запишите алгебраическое выражение в инфиксной, префиксной, постфиксной формах.

4. Что называется разрядом числа?

5. Какие алгоритмы перевода записи числа из одной системы счисления в другую вы знаете? Сформулируйте правила перевода для каждой из них.

6. Выполните задание согласно вашему варианту.

 


Лабораторная работа № 2

Арифметические основы ЭВМ

Цель занятия:

1. Изучить машинные коды, нашедшие применение в вычислительных машинах.

2. Закрепить знания по выполнению арифметических операций над числами в ПК.

 

Теоретическое обоснование

Машинные коды

Все современные ЭВМ имеют достаточно развитую систему команд, включающую десятки и сотни машинных операций. Однако выполнение любой операции основано на использовании простейших микроопераций типа сложения и сдвиг. Это позволяет иметь единое арифметико-логическое устройство для выполнения любых операций, связанных с обработкой информации. Во всех без исключения ЭВМ все операции над числами выполняются с использованием специальных машинных кодов. Их использование позволяет обрабатывать знаковые разряды чисел так же, как и значащие разряды, а также заменять операцию вычитания операцией сложения. Различают прямой код (П), обратный код (ОК) и дополнительный код (ДП) двоичных чисел.

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

Применение прямого кода.

В информатике прямой код используется главным образом для записи неотрицательных целых чисел. Его легко получить из представления целого числа в любой другой системе счисления. Для этого достаточно перевести число в двоичную систему счисления, а затем заполнить нулями свободные слева разряды разрядной сетки машины.

Однако у прямого кода есть два недостатка:

· В прямом коде есть два варианта записи числа 0 (например, 00000000 и 10000000 в восьмиразрядном представлении).

· Использование прямого кода для представления отрицательных чисел в памяти компьютера предполагает или выполнение арифметических операций центральным процессором в прямом коде, или перевод чисел в другое представление (например, в дополнительный код) перед выполнением операций и перевод результатов обратно в прямой код (что неэффективно).

Выполнение арифметических операций над числами в прямом коде затруднено: например, даже для сложения чисел с разными знаками требуется кроме сумматора иметь специальный блок-«вычитатель», сложность реализации которого, такая же, как и обычного сумматора. Кроме того, при выполнении арифметических операций требуется особо обрабатывать значащий разряд, так как он не имеет веса. Также требуется обработка «отрицательного нуля». Таким образом, выполнение арифметических операций над числами в прямом коде потребует сложной архитектуры центрального процессора и в общем является неэффективным.

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

 

Пример: Представить десятичные числа +10 и –15 в двоичной системе счисления и записать их соответствующие прямые коды.

Знаковый разряд имеет значение

0 – для положительных чисел;

1 – для отрицательных чисел.

 

Решение:

А10 = +10, А2 = 1010, [A2]п=0:1010;

B10 = -15, B2 = -1111, [B2]п=1:1111.

Точечной вертикальной линией (:) здесь отмечена условная граница, отделяющая знаковый разряд от значащих разрядов двоичного числа.

 

Обратный код. Обратный код двоичного числа образуется по следующему правилу. Обратный код положительных чисел совпадает с их прямым кодом. Обратный код отрицательного числа содержит единицу в знаковом разряде числа, а значащие разряды числа меняются на инверсные, то есть нули заменяются единицами, а единицы – нулями.

Пример: Представить десятичные числа +5 и –13 в двоичной системе счисления и записать их соответствующие обратные коды.

 

Решение:

А10=+5,®А2 =+101, [A2]п=[A2]ок=0:101;

В10=-13®В2 =-1101, [B2]ок =1:0010.

Свое название обратный код чисел получил потому, что коды цифр отрицательного числа заменены на инверсные. Укажем наиболее важные свойства обратного кода чисел:

• сложение положительного числа С с его отрицательным значением в обратном коде дает так называемую машинную единицу МЕок = 1: 1 111...11, состоящую из единиц в знаковом и в значащих разрядах числа;

• нуль в обратном коде имеет двоякое значение. Он может быть как положительным числом — 0: 00...0, так и отрицательным — 1: 111…11. Значение отрицательного нуля совпадает с МЕок. Двойственное представление нуля явилось причиной того, что в современных ЭВМ все числа представляются не обратным, а дополнительным кодом.

Дополнительный код. Дополнительный код (англ. two’s complement, иногда twos-complement) — наиболее распространённый способ представления отрицательных целых чисел в компьютерах. Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел, чем упрощает архитектуру ЭВМ. Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет собой результат суммирования обратного кода числа с единицей младшего разряда (2° - для целых чисел, 2-k - для дробных чисел).

Преимущества и недостатки.

Преимущества.

Один и тот же регистр может хранить как n-битовое положительное число, так и (n−1)-битовое число со знаком, с общими для обоих форматов операциями сложения, вычитания и левого сдвига.

Более удобная упаковка чисел в битовые поля.

Отсутствие числа «минус ноль».

Недостатки.

Дополнительный код неочевиден для новичков.

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

Модуль наибольшего числа не равен модулю наименьшего числа. Пример: знаковое целое 1-байтовое. Максимальное число: 12710 == 7F16 == 011111112. Минимальное число: -12810 == 8016,дополнительный код == 100000002,дополнительный код. Соответственно, не для любого числа существует противоположное. Операция изменения знака требует дополнительной проверки.

Пример: Найти дополнительный код -710

-710=1112

Прямой код: 1: 111

Обратный код: 1: 000

Дополнительный код: 1: 001 (1: 000+1)

Пример: Представить десятичные числа +19 и –13 в двоичной системе счисления и записать их соответствующие дополнительные коды.

Решение:

А10 = + 19, ® А2 = + 10011, [A2]п = [A2]ок = [A2]дк = 0: 10011;

В10 = -13, ® В2 = - 1101, [B2]дк = [B2]ок + 20 = 1: 0010 + 1 = 1: 0011.

Укажем основные свойства дополнительного кода:

• сложение дополнительных кодов положительного числа С с его отрицательным значением дает так называемую машинную единицу дополнительного кода: МЕдк = МЕок + 2° = 10: 00...00, то есть число 10 (два) в знаковых разрядах числа;

• дополнительный код получил такое название потому, что представление отрицательных чисел является дополнением прямого кода чисел до машинной единицы МЕдк.

В табл. 1 представлены прямые, обратные и дополнительные коды чисел от –710до +710.

Таблица 1

Десятичное число х Рпр(х) Робр(х) Рдоп(х)
  0: 000 0: 000 0: 000
  0: 001 0: 001 0: 001
  0: 010 0: 010 0: 010
  0: 011 0: 011 0: 011
  0: 100 0: 100 0: 100
  0: 101 0: 101 0: 101
  0: 110 0: 110 0: 110
  0: 111 0: 111 0: 111
-0 1: 000 1: 111 -
-1 1: 001 1: 110 1: 111
-2 1: 010 1: 101 1: 110
-3 1: 011 1: 100 1: 101
-4 1: 100 1: 011 1: 100
-5 1: 101 1: 010 1: 011
-6 1: 110 1: 001 1: 010
-7 1: 111 1: 000 1: 001

Модифицированные обратные и дополнительные коды. Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак «+» в этих кодах кодируется двумя нулевыми знаковыми разрядами, а знак «-» — двумя единичными разрядами.

Пример: Представить десятичные числа +9 и -9 в двоичной системе счисления и записать их соответствующие прямые, обратные, дополнительные, модифицированные обратные и дополнительные коды.

Решение:

А10=9,®А2 =+1001, [A2]п =[A2]ок=[A2]дк =0:1001,

[A2]мок = [A2]мдк = 00: 1001;

 

В10=-9,®В2=-1001, [В2]ок =1:0110, [В2]дк =1:0111,

2]мок = 11: 0110, [В2]мдк = 11: 0111.

 

Пример:

(+49)10→(+110001)2 [A]п→0:110001. Дополнительный код [A]дк→0:110001.

Модифицированные обратные и дополнительные коды [A]мок = [A]мдк =00:110001,

(-70)10→(-1000110)2 [В]п→1:1000110. Дополнительный код [В]дк→1:0111001

Модифицированные обратные и дополнительные коды [В]мок =11:1000110;

[В]мдк =11:1000111,

 

Целью введения модифицированных кодов являются фиксация и обнаружение случаев получения неправильного результата, когда значение результата превышает максимально возможный результат в отведенной разрядной сетке машины. В этом случае перенос из значащего разряда может исказить значение младшего знакового разряда. Значение знаковых разрядов «01» свидетельствует о положительном переполнении разрядной сетки, а «10» - об отрицательном переполнении. В настоящее время практически во всех моделях ЭВМ роль удвоенных разрядов для фиксации переполнения разрядной сетки играют переносы, идущие в знаковый и из знакового разрядов.

 


Поделиться с друзьями:

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.068 с.