400 likes | 548 Views
Представљање бројева у рачунару. Представљање целих бројева Бинарна аритметика Представљање бројева у покретном зарезу Представљање BCD бројева Представљање знакова. Представљање целих бројева.
E N D
Представљање бројева у рачунару Представљање целих бројева Бинарна аритметика Представљање бројева у покретном зарезу Представљање BCD бројева Представљање знакова
Представљање целих бројева • Ако за представљање позитивних целих бројева употребимо nбитова можемо представити бројеве у опсегу од 0 до 2n– 1. • Треба наћи начин за представљање и негативних бројева, при чему желимо да постигнемо: • Јединствен приказ нуле. • Подједнаку дистрибуцију позитивних и негативних бројева. • Једноставну детекцију знака. • Једноставну имплементацију аритметичких операција.
Представљање целих бројева • Означена апсолутна вредност броја. • Непотпуни комплемент. • Потпуни комплемент. • Проширена нотација.
Означена апсолутна вредност броја • Крајњи леви бит (бит највеће тежине) представља бит знака броја (0 за позитивне а 1 за негативне бројеве). • Остатак битова представља апсолутну вредност броја. Пример: 0001 1011 = +27 1001 1011 = -27
Означена апсолутна вредност броја • Постоје проблеми! • Не постоји јединствен приказ нуле. +0 00000000 - 0 10000000 • Сабирање бројева различитог знака – веома компликовано!
Непотпуни комплемент • Назива се и комплемент највеће цифре па се стога у бинарном систему још зове и јединични комплемент. • И даље бит знака са вредношћу 0 представља ненегативне бројеве а са вредношћу 1 негативне бројеве.
Непотпуни комплемент • Добија се тако што се сваки бит комплементира. +5 00000101 - 5 11111010
Непотпуни комплемент • Проблеми! • Ни овде приказ нуле није јединствен 00000000 = +0 11111111 = -0
Непотпуни комплемент • Релативно компликовано обављање аритметичких операција: • код сабирања, евентуални пренос са места бита знака сабира на месту најмање тежине како би се добио резултат у непотпуном комплементу.
1 Непотпуни комплемент Пример: 1100 0000 = - 63 0100 0000 = +64 0000 0000 = некоректно +1 0000 0001 = +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 0000 0001 = коректно! +1 1
Потпуни комплемент • Даје опсег од -2n-1до2n-1 – 1. • Немогуће је добити исти број негативних и позитивних бројева! • Потпуни комплемент најмањег негативног броја је исти тај број! 1000 0000 0111 1111 +1 1000 0000 = -27 = -128 = јединични компл. = полазни број
Проширена нотација • За бројеве представљене са mбитова назива се и вишак 2m-1, јер се сваки број представља као збир њега самоги вредности 2m-1. • +5 00000101 - 5 + 128 01111011 • Практично се врши пресликавање опсега -128 до +127 на опсег од 0 до 255 (за m=8). • Интересантно је и то што је овај систем идентичан потпуном комплементу са обрнутим знаком.
Бинарна аритметика Таблица сабирања у бинарном систему • Ако су сабирци различитог знака, прекорачење се не може јавити. • Ако су сабирци истог знака а резултат супротног онда је дошло до прекорачења. • И у непотпуном и у потпуном комплементу се прекорачење јавља ако и само ако се пренос ка месту бита знака разликује од преноса од места знака.
Представљање бројева у покретном зарезу • У науци и техници честa нотација је n = f 10e експонент манитиса
Представљање бројева у покретном зарезу • Представљање бројева у рачунару на овај начин назива се покретни зарез (floating point ). • Са много мање запамћених цифара могу се представљати бројеви из знатно већег опсега.
Представљање бројева у покретном зарезу • Опсег је одређен бројем цифара у експоненту а прецизност бројем цифара у мантиси. • Замислимо да имамо троцифрену мантису која може бити у опсегу 0.1 |f| < 1 или једнака 0, и двоцифрени означени експонент. • Број код кога је најзначајнија цифра мантисе различита од нуле је нормализован.
Представљање бројева у покретном зарезу • Шта морамо да упамтимо? • У ком опсегу се креће апсолутна вредност бројева? 5 цифара и два знака +0.10010-99 +0.99910+99 199 редова величине!
Представљање бројева у покретном зарезу • Реална права је подељена на 7 области (сл. 1): • Област негативног прекорачења. • Негативни бројеви. • Област негативног подкорачења. • Нула. • Област позитивног подкорачења. • Позитивни бројеви. • Област позитивног прекорачења. Сл.1.
Стандард за покретни зарез IEEE 754 • Овај стандард предвиђа три формата: • Формат једноструке прецизности (32 бита) – сл. 2а. • Формат двоструке прецизности (64 бита) – сл. 2б. • Формат проширене прецизности (80 битова). Сл.2.
Стандард за покретни зарез IEEE 754 • Користи се нормализована ман-тиса и проширена нотација за експоненте. • Како је мантиса нормализована то се јединица која следи не памти већ подразумева. • Kомбинација имплицитне 1, имплицитне бинарне тачке и 23 запамћена бита назива се сигнификант (у опсегу 1s< 2).
Стандард за покретни зарез IEEE 754 • Експонент 0 и максимални се не користе за нормализоване бројеве, већ имају специјалне намене (сл. 3). • Када се јави резултат који је мањи од најмањег нормализованог броја који се може представити овај стандард предвиђа денормализоване бројеве. Ови бројеви имају експонент 0 а имплицитна јединица је сада 0. Сл. 3.
Представљање BCD бројева • Бинарни бројни систем је најприроднији за коришћење у рачунару. • Са друге стране, људи су навикли на децимални систем. Зашто?
Представљање BCD бројева • Можемо да вршимо конверзију декадних бројева у бинарне и обрнуто ... • ... а можемо да радимо са декадним бројевима који су ... ... бинарно кодирани!
Представљање BCD бројева • BCD бројеви (Binary Coded Decimals). • Свака декадна цифра кодира се са 4 бинарне.
7 4 3 0 BCD цифра BCD цифра 7 4 3 0 зона BCD цифра Представљање BCD бројева • BCD бројеви могу бити у ... ... пакованом формату и ... ... непакованом формату.
Представљање BCD бројева • Постоје и други бинарни кодови за декадне бројеве: • ‘’вишак 3’’ • ‘’2421’’ • ‘’5421’’ • седмосегментни ...
Представљање знакова • Знакови се представљају алфанумеричким кодовима. • ASCII(American Standard Code for Information Interchange).
Представљање знакова • EBCDIC (Extended Binary Coded Decimal Interchange Code). • UNICODE – je нови стандард за 16-битне алфанумеричке кодове. • Обухваћен је стандардом ISO/IEC (International Organization for Standardization/International Electrotechnical Commision) 10646 па се често и означава као Unicode/10646.
Представљање знакова • Са 16 битова имамо 65536 различитих кодних речи тако да овај код који садржи подршку и многим другим језицима осим енглеског. • У ствари, погрешно је мислити о UNICODE-у тек као о коду са 65536 могућих различитих знакова. Ради се о новом начину схватања и третирања знакова.
Представљање знакова • А је различито од B и од a али је исто што и А или А или А.
Представљање знакова • Свако слово из произвољног алфабета записује се у облику U+0041 што се назива кодна тачка. Hello U+0048 U+0065 U+006C U+006C U+006F • Кодирање? 0048 0065 006C 006C 006F или 48 0065 006C 006C 006F 00
R зона А зона I зона O зона Представљање знакова • Традиционални двобајтни метод смештања назива се UCS-2 или UTF-16, али се користи и UTF-8. Тренутно слободна Садржи кодове за алфабете, слогове и симболе За сада забрањена за употребу Кодови за идеограме