Представљање целих бројева

Цели бројеви који се приказују у рачунару представљају подскуп целих бројева. Величина тог подскупа (укупан број бројева који се могу приказати) зависи од дужине процесорске, односно меморијске речи (број битова који служи за запис података).

Ако за представљање позитивних целих бројева употребимо n битова можемо представити бројеве у опсегу од 0 до 2n – 1. Данас се најчешће користи стандардна бинарна реч од 32 бита (4 бајта) према следећем формату:

Прва слева позиција ѕ служи за кодирање знака броја. Позитивни цели бројеви представљају се тако што се директно преводе у бинарни облик, а по потреби слева се додаје потребан број безначајних нула.

Представљање негативних бројева

Пошто се за запис свих врста података у рачунару користе само бинарни бројеви, односно цифре 0 и 1, за представљање негативних бројева не може се користити знак -. Треба наћи начин за представљање негативних бројева, при чему желимо да постигнемо:

  • Јединствен приказ нуле.
  • Подједнаку дистрибуцију позитивних и негативних бројева.
  • Једноставну детекцију знака.
  • Једноставну имплементацију аритметичких операција.

За представљање целих негативних бројева користи се један од 4 начина за кодирање знака броја:

  • Означена апсолутна вредност броја.
  • Непотпуни комплемент.
  • Потпуни комплемент.
  • Проширена нотација.

Могу се користити и целобројни подаци са мањим или већим бројем бинарних позиција – 16 или 64 бита.

Означена апсолутна вредност броја

Крајњи леви бит (бит највеће тежине) представља бит знака броја (0 за позитивне, а 1 за негативне бројеве). Остатак битова представља апсолутну вредност броја.

Пример:

00011011 = +27
10011011 = -27

Постоје проблеми:

– Не постоји јединствен приказ нуле:

+0 00000000
-0 10000000

– Сабирање бројева различитог знака – веома компликовано!

Непотпуни комплемент

Назива се и комплемент највеће цифре па се стога у бинарном систему још зове и јединични комплемент. И даље бит знака са вредношћу 0 представља ненегативне бројеве, а са вредношћу 1 негативне бројеве. Добија се тако што се сваки бит комплементира:

+5 00000101
-5 11111010

Проблеми:

– Ни овде приказ нуле није јединствен:

00000000 = +0
11111111 = -0

– Релативно компликовано обављање аритметичких операција: код сабирања, евентуални пренос са места бита знака сабира се са битом на месту најмање тежине како би се добио резултат у непотпуном комплементу:

11000000 = -63
01000000 = +64
1 00000000 = некоректно
+1
00000001 = +1 коректно

Потпуни комплемент

Назива се и комплемент основе па се стога у бинарном систему још зове и двојични комплемент. И даље бит знака са вредношћу 0 представља ненегативне бројеве а са вредношћу 1 негативне бројеве. Добија се тако што се сваки бит комплементира (чиме се добије непотпуни комплемент) па се дода 1 на месту најмање тежине:

+5 00000101
јед. комплемент од +5 11111010
+1
-5 11111011

– Јединствен приказ нуле:

0000 0000 = +0
1111 1111 = јед. компл.
+1
0000 0000

– Једноставно обављање аритметичких операција. Код сабирања, евентуални пренос са места бита знака занемари и тако добије коректан резултат у потпуном комплементу:

1100 0001 = -63
0100 0000 = +64
1<= 0000 0001 = +1 коректно

Особине:
– Даје опсег од -2n-1 до 2n-1 – 1.
– Немогуће је добити исти број негативних и позитивних бројева!
– Потпуни комплемент најмањег негативног броја је исти тај број:

10000000 = -27
=> -128
01111111 = јединични комплемент
+1
1000000 = полазни број

Проширена нотација

За бројеве представљене са m битова назива се и вишак 2m-1, јер се сваки број представља као збир њега самог и вредности 2m-1:

+5 00000101
-5 +128 01111011

Практично се врши пресликавање опсега -128 до +127 на опсег од 0 до 255 (за m = 8).

Интересантно је и то што је овај систем идентичан потпуном комплементу са обрнутим знаком.

Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s