31473

Дослідження методів кодування чисел в комп’ютері з використанням алгоритмічних мов високого рівня

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

Информатика, кибернетика и программирование

Для виконання операцій з двійковими числами в ЕОМ використовуються прямий зворотній додатковий модифікований зворотній і додаткові коди. Додатковий код відємного числа отримується додаванням одиниці молодшому розряду зворотнього коду цього числа. Для цього виконаємо кодування: отримаємо зворотній та додатковий коди для чисел А1 та А2. Таблиця 1 Варіанти завдання Перевести відємне дійсне число: № код прямий додатковий зворотній додатковий додатковий прямий додатковий зворотній прямий додатковий зворотній...

Украинкский

2013-09-01

92.5 KB

9 чел.

Лабораторна робота 1.4

Дослідження методів кодування чисел в комп’ютері з використанням алгоритмічних мов високого рівня.

Мета лабораторної роботи   ознайомитись з методами кодування чисел, отримати і закріпити практичні навички з побудови алгоритмів і програм.

Короткі теоретичні відомості

Необхідність кодування чисел визначається тим, що в ЕОМ неможлво або нераціонально вводити числа у тому вигляді, в якому вони зображуються людиною на папері.

При обчисленні ЕОМ оперує як з додатніми, так і з від’ємними числами. При цьому обчислення можна замінити додаванням, скориставшись доповненням відємного числа. Доповненням числа 12510 буде число *7510, числа 12516 буде число ЕDВ16, для числа 11012 - число 112. Ці доповнення отримують наступним чином:

_1*0010            _100016            _10000*

12510                12516                1*01*

87510               EDB16                   112

Так як у ЕОМ є тільки пристрої, які виконують додавання, то віднімання замінюється додаванням спеціальних кодів чисел. Для виконання операцій з двійковими числами в ЕОМ використовуються прямий, зворотній, додатковий, модифікований зворотній і додаткові коди. Зображення додатніх чисел у всіх кодах однакове, а відємних різне.

Прямой код співпадає з записом самого числа. У знаковому розряді записується 0 (знак +) або 1 (знак-), а потім записується саме число.

Наприклад, числа: А1=+*,10*0 и А2= - *,10*0 у прямому коді записуюься у вигляді: [А1]пр=0 1010 і [А2]пр=1 1*10.

Приклад: В* = +0,1*1001                 [В*]пр.= 0 *0*001;

В2 = - 0,*1101                  [В2]пр.= 1 *1101.

Зворотній код відємного числа отримується наступним чином: у знаковому розряді записується одиниця, а в цифрових розрядах нулі замінюються одиницями, а одиниці - нулями.

Наприклад, числа А1=+0,1010 та А2= - 0,101* у зворотньому коді записуються у вигляді [А1]обр.=0 101* і [А2]обр.=1 0101.

Приклад: В1 = +0,101100                 [В1]зв.= 0 101110;

В2 = - 0,010101                [В2]зв.= 1 1*1*1*.

Додатковий код відємного числа отримується додаванням одиниці молодшому розряду зворотнього коду цього числа.

Наприклад: числа А1=+0,1010 та А2= - 0,101* у додатковому коді записуються у вигляді: [А1]дод.=* 101* та [А*]дод.=1 0*10.

Приклад: В1 = +0,00110                   [В1]дод.= 0 0*110;

В2 = - 0,00*101                [В2]дод.= 1 110011.

Модифікований код відрізняється тим, що на зображення знака числа у ньому відводиться два розряди, що дає можливість виявити переповнення розрядної сітки.

Наприклад, для числа А= - 0,101* отримаємо [А]мзв.=11 *101, [А]мдод.=11 0110.

Перехід від зворотнього та додаткового кодів до прямого здійснюється аналогічно переходу від прямого коду до зворотнього і додатковому.

При додаванні та відніманні чисел у зворотньому коді одиниця переносу, яка вийшла за межі знакового розряду, не відкидається, а додається до молодшого розряду результату, що здійснюється автоматично.

Наприклад, у зворотньому коді операції алгебраїчного додавання виконуються слідуючим чином:

1) а=0,10*0>0                          [а]зв.=0 1010

   b=0,0010>0                          [в]зв.=0 0010

                                                  [х]зв.=0 1100

                                                  х= 0,1100

2) а= - *,1010<0

    b= 0,1100>0

3) а=0,*010>*

    b= - 0,0010<0

*) a= - 0,1010<0

    b= - 0,0010<0

          [а]зв.=1 0101

          [в]зв.=0 1100

   10 0001

           [х]зв.=0 001*

    х= 0,0010

           [а]зв.= 0 1010

           [в]зв.= * 1101

10 011*

           [х]зв.= 0 100*

х= 0,1000

           [a]зв.=1 0101 [b]зв.=* 1101

11 00*0

[*]зв.=* 0011

*= - 0,1100

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

Приклад:

*= - 0,*01*<0 b= - 0,0010<0

[a]дод.=1 0110 [b]дод.=1 1*10

11 01*0

[х]дод.=1 010* [х]зв.=1 *0*1

х= - *,1100

Наприклад, маємо число А1 = 0,10*112 та А2 = 0,01*2. Потрібно виконати дію А1-А2

_0,10111

0,01*00

0,01011

Замінимо операцію відніманя додаванням. Для цього виконаємо кодування: отримаємо зворотній та додатковий коди для чисел А1 та А2.

[A*]зв.= * 10111               [A2]зв.= * 1001*

[A*]зв.= 0 *0*1*                [*2]дод.= 1 1*100

Виконаємо операцію додавання отриманих кодів

+ [A1]зв.= * 10111

[A*]зв.= 1 10011

10 010*0

[A1+A*]озв.= 0 01011

A1+A2 = 0,0101*

+[A1]зв.= 0 1011*

[A2]зв.= * 1010*

10 *1*11

[A*+A2]зв.= 0 01011

*1+A2 = *,0101*

ЕОМ можуть обробляти як числову, так і текстову інформацію. Текстова інформація (російські і латинські літери, розділові знаки и т.д.), як і числа, кодуються послідовністю двійкових цифр. При використанні для таких цілей 8-розрядних кодів (байтів) можна закодувати 256 різних символів (табл.1). Така система кодування носит назву КОИ-7 і принята у більшості мікроЕОМ.

Таблиця 1

Варіанти завдання

Перевести відємне дійсне число:

код

  1.  

прямий -> додатковий

  1.  

зворотній -> додатковий

  1.  

додатковий -> прямий

  1.  

додатковий -> зворотній

  1.  

прямий -> додатковий

  1.  

зворотній -> додатковий

  1.  

додатковий -> прямий

  1.  

додатковий -> зворотній

  1.  

прямий -> додатковий

  1.  

зворотній -> додатковий

  1.  

додатковий -> прямий

  1.  

додатковий -> зворотній

  1.  

зворотній -> додатковий

  1.  

додатковий -> прямий

  1.  

додатковий -> зворотній

 

Контрольні питання

  1.  Дайте визначення прямого, зворотного, додаткового кодів.
  2.  Яким чином отримуються числа у прямому, зворотному, додатковому кодах?
  3.  Як виконуються операції додавання та віднімання у кодах?
  4.  Чи можливо замінити операції (віднімання додаванням)?


 

А также другие работы, которые могут Вас заинтересовать

13659. Торговля не разорила еще ни одного народа (Б. Франклин) 14.27 KB
  Торговля не разорила еще ни одного народа.Б. ФранклинАвтор хотел сказать что занятие торговой деятельностью полезно для общества это может привести к его процветанию. Я думаю что с этим стоит согласиться. Торговля развивалась с момента развития общественных отношен
13660. Цены и другие инструменты рынка 14.27 KB
  Цены и другие инструменты рынка регулируют распределение редких ресурсов в обществе ограничивая тем самым желания участников координируя их действия.Г. С. БеккерЧто означает цена и какие другие инструменты рынка имел в виду Беккер Цена это денежное выражение стоим...
13661. Алкоголизм дает больше опустошения, чем три исторических бича вместе взятых: голод, чума и война 15.45 KB
  Алкоголизм дает больше опустошения чем три исторических бича вместе взятых: голод чума и война. У. Гладстон Алкоголизм одна из проблем современного общества которая волнует педагогов и конечно же нас подрастающее поколение. У. Гладстон считает что алкоголи...
13662. Алкоголизм и преступление -это два явления общественной жизни, находящиеся в тесной связи друг с другом 14.11 KB
  Алкоголизм и преступление это два явления общественной жизни находящиеся в тесной связи друг с другомИ. МержевскийПоведение людей в обществе определяется прежде всего тем на какие ценности они равняются каких ценностей они придерживаются. Для стабильности и единс
13663. Берне Л. Без многого может обойтись человек, только не без человека 15.56 KB
  Без многого может обойтись человек только не без человека Л. Берне Я считаю что высказывание Людвига Берне немецкого публициста и писателя о том что без многого может обойтись человек только не без человека верно и сохраняет свою актуальность сегодня поскольку о
13664. Жениться - это значит наполовину уменьшить свои права и вдвое увеличить свои обязанности 16.27 KB
  Жениться это значит наполовину уменьшить свои права и вдвое увеличить свои обязанности. А. Шопенгауэр А. Шопенгауэр выдающийся философ нового времени был пессимистом. Он считает что женитьба и создание семьи лишь увеличивает обязанности. Семья это объединени...
13665. Индивидом рождаются, личностью становятся, индивидуальность – отстаивают 16.52 KB
  Индивидом рождаются личностью становятся индивидуальность отстаивают. А.Г.Асмолов Личностью не родятся личностью становятся. А.Н. Леонтьев Фундаментальная цель жизни человека развить и выразить себя. Но ребенок не самодостаточен. Он слаб и физически и духовно ...
13666. Дарендорф. Кто умеет справиться с конфликтами путем их признания, берет под свой контроль ритм истории 14.32 KB
  Кто умеет справиться с конфликтами путем их признания берет под свой контроль ритм истории. Р.Дарендорф. Зададимся вопросом: А что значит конфликт Ученые дают такие варианты определений Конфликты представляют собой особый тип социального взаимодействия субъе...
13667. Личность – это человек как носитель сознания 13.9 KB
  Личность это человек как носитель сознания К.К. ПлатоновЧеловек вечная проблема. Наши предки считали что человек предназначен для жизни бесконечной. И что свою суть он должен познавать в течение всей свой земной жизни а может быть и за пределами ее. И сейчас немало ...