Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекцый для 1 курса-1 семестр.doc
Скачиваний:
3
Добавлен:
09.11.2019
Размер:
2.95 Mб
Скачать

Захаванне цэлых лікаў

Для прадстаўлення цэлых лікаў у форме з фіксаванай кропкай са знакам у ЭВМ прымяняюць прамы, адваротны і дадатковы коды.

Агульная ідэя пабудовы кодаў такая. Код трактуецца як лік без зна­ка, а дыяпазон лікаў без знака разбіваецца на два паддыяпазоны. Адзін з іх дае дадатныя лікі, а другі – адмоўныя. Разбіванне выконваецца такім чы­нам, каб прыналежнасць да дыяпазону вызначалася максімальна прос­та. Вельмі зручна фарміраваць коды так, каб значэнне старэйшага раз­ра­ду паказвала на знак ліку.

Прамы код двайковага ліку , які ўяўляецца ў n-разраднай сетцы вызначаецца як

дзе A – велічыня, роўная вазе старэйшага разраду сеткі (для цэлых лікаў A = 2n–1).

Фактычна ў прамым кодзе захоўваецца модуль ліку, а ў старэйшым раз­радзе стаіць знакавы біт: 0 – для дадатных, 1 – для адмоўных лікаў. Ды­я­па­зон лікаў у прамым кодзе: – для дадатных, старэйшы раз­рад роўны 0; – для адмоўных, старэйшы разрад роўны 1.

Адваротны код двайковага ліку які ўяўляецца ў n-разраднай сет­цы вызначаецца як

дзе – велічыня найбольшага ліку без знака, які размяшчаецца ў n-раз­рад­най сетцы – для цэлых лікаў.

Дыяпазон лікаў у адваротным кодзе:

Па гэтым вызначэнні адваротны код адмоўнага ліку ўяўляе сабой да­паў­нен­не модуля зыходнага ліку да найбольшага ліку без знака, які змя­шча­ец­ца ў разрадную сетку. Такім чынам, атрыманне адваротнага ко­да адмоўнага ліку зводзіцца да атрымання інверсіі (замены 0 на 1, а 1 на 0) n-разраднага кода модуля гэтага ліку. Значыць, знакавы біт мае 0 для да­дат­на­га ліку і 1 – для адмоўнага. Недахопам такога спосабу з’яўляецца тое, што лікі 0 і (– 0) маюць рознае ўяўленне.

Дадатковы код двайковага ліку які ўяўляецца ў n-разраднай сет­цы вызначаецца як

дзе – велічыня, роўная вазе разраду, які размяшчаецца за старэйшым раз­ра­дам выкарыстоўваемай разраднай сеткі. Для цэлых лікаў .

Дыяпазон лікаў у дадатковым кодзе: – для дадатных, ста­рэй­шы разрад роўны 0; – для адмоўных, старэйшы разрад роў­ны 1. Для цэлых адмоўных лікаў

У дадатковым кодзе добра выконваюцца аперацыі складання і адні­ман­ня цэлых лікаў.

Заўвага. Калі адбываецца перапаўненне, то на гэта рэагуе знакавы раз­рад.

Алгарытм прадстаўлення адмоўнага ліку ў адваротным кодзе

Лік перакладаецца ў 2-ю с/зл; дапаўняецца нулямі да разрадаў; вы­кон­ва­ец­ца інверсія двайковых лічбаў; да кода дадаецца лік 1.

Заўвага. У камп’ютары цэлыя дадатныя лікі захоўваюцца ў пра­мым, а цэлыя адмоўныя – у дадатковым кодзе.

Тып даных

Памер у байтах

Дыяпазон лікаў

Спосаб захавання лікаў

Byte

1

0..255

Захоўваюцца толькі неадмоў­ныя лікі ў прамым кодзе

Word

2

0..65535

Shortint

1

–128..127

Неадмоўныя лікі захоўваюцца ў прамым кодзе, адмоўныя – у дадатковым

Integer

2

–32768..32767

Longint

4

–2147483648..2147483647