L№tavlenie на данни в компютрите
1 Информацията и данните,
Информацията се възприема от човека и да го направи специална реакция. Различните хора от един и същи послания могат да премахват различни количества информация. Професионален музикант, например, методът на ноти музикално произведение, за да получите повече информация за изпълнението му от програмист и програмист в текста на програмата може да ви разкажа за нея поведение повече от един музикант.
Компютри, не се занимават с информация и данни. Получаване на входни данни, те са "механично" ги обработва в съответствие с определени алгоритми за изходни данни (резултати), от която човек обикновено е по-лесно да се извлече информация от първоначалните данни. Получаване на входа аритметичен израз "(13 + Page 27) • 2", компютърът извежда еквивалентна изразът "80", стойността на (смисъла) е човек да възприема по-лесно (не е необходимо да се направи в ума си, или на хартиен носител аритметика).
2 Представяне на данни в компютър
Обикновено, вход и изход данни е представен във форма, подходяща за човешки същества. Брой на хората се използват за представяне в десетичната система. За компютъра по-удобен за двоична система. Това се дължи на факта, че това е технически много по-лесно за изпълнение на устройството (например, съхранение елемент) с две, а не с десет-стабилен (има електрически ток - ток магнетизираната не - не магнетизираната, и други подобни). Можем да предположим, че една от двете държави е единица различна - нула.
Всички данни (цифри, символи, графики и звукови изображения) са представени в компютъра като последователност от нули и единици. Тези последователности могат да се считат думи в азбуката, така че обработката на данни в компютъра, може да се разглежда като конвертиране на думи от нули и единици в съответствие с правилата, записани в чиповете процесора. Погледнато по такъв начин обединява компютри с абстрактни калкулатори. Помислете Тюринг машина или Марков нормалните алгоритми.
елемент от последователност от нули и единици (член на такава последователност) се нарича малко. Именителен - малко.
Посочете външна информация във вътрешна представителство се нарича кодиране. Код (френски долу код, от латинската кодекс - .. Тяло на закона) се нарича така, за да се покаже и набор от думи (кодови думи), използван за кодиране.
3 Изображение на числа
За представянето на номера в компютъра обикновено се използва битови комплекти - последователността от единици и нули на фиксирана дължина. Организирайте обработка на комплекти фиксирана дължина е технически лесно, отколкото набор от променлива дължина. Позиция в комплекта битове нарича разряд. Компютърът се нарича също освобождава част от регистър (или памет клетка) на съхранение най-малко.
3.1 неподписани числа
Как да се определи кои число представлява определен конкретен битов? Има различни начини. Например, можем да предположим, че броят е представена от броя на единиците, включени в комплекта битове ( "единица" брой система). Този метод позволява да се въведе само к различни цели числа от 0 до к 1, където к - набор дължина. Очевидно е, че този метод е разточителство - същия брой може да съответства на няколко различни комплекти. Броят на възможните битови низове с дължина к е 2 к. Следователно е благоприятно да се назначават различни набори различен брой. Това ще позволи да се въведе 2 к различни номера. Обикновено това диапазона от цели числа N. [N 2 к). Когато п = 0 има представяне на неподписани (не-отрицателни) числа от 0 до 2 к -1.
Има само (2 л). (Броят на пермутации на елементи 2 к) начини да се кодират комплекти ухапа неподписани номера. Сред всички тези теоретично
представяне на числата е най-удобен, както следва: бит,
Обхватът на изводим номера: - 2 к -1. -1
Имайте предвид, че нулата има две представителства в прав и обратен код, както и в допълнителен код нула представителство само.
3.2.3 Изчисляване на обратни кодове и допълнителна
Същият набор от малко дължина к може да се тълкува по различни начини: 1) като представяне на редица неподписан; 2) представителството на редица със знак (напред, назад или допълват). Компютърът не знае, че тя е една или друга бит - това е просто една дума за него в
азбуката, както и значението на думата е известно, че на програмиста. Числовата стойност на думата ще се нарича неотрицателно цяло число, двоичен (к-битов) записването на която съвпада с думата.
Нека х - номер със знак. След цифровата стойност и неговите обратни допълнителни кодове могат да бъдат определени с помощта на функции мод (х) и допълнителна (х):
3.3 Аритметични операции на числа
Обратните и допълнителни кодове се използват особено широко, за да се улесни изграждането на аритметично логическо устройство (ALU) на компютър чрез замяна на някои аритметични допълнение.
Обикновено десетични числа при влизане в устройството автоматично се преобразува в двоичен код (неподписани числа), обратна или комплементарна идентификация (подписани числа) и се съхранява в тази форма, се движат и са включени в операции. В продукцията на колата, но в обратната конверсия към десетични числа.
3.3.1 Събиране и изваждане
3.3.1.1 събиране и изваждане на неподписан
Събиране и изваждане на неподписани номера се извършва на обичайните позиционни алгоритми брой на системата. Примери (за к = 3):
001 2 +100 2 = 101 2;
101 2-010 2 = 011 2.
Ситуация, при която умаляемото е по-малко от умалител, или когато размерът на резултата не се вписва в к бита, се смятат за погрешна и трябва да се контролира от компютър устройство. Реакцията на тези грешки могат да бъдат различни за различните видове компютри.
3.3.1.2 Събиране и изваждане на числа с знак обратен код
Добавяне в обратен код е както следва: Редовен алгоритъм добавили всички битове, включително знака. В резултат на това добавяне на К-битови комплекти има дължина к 1 (най-лявата бит на резултата е, ако има промяна в добавяне на значителни бита на операндите, или - нула). Значение Ляв к + 1-то малко се добавя към LSB резултат. Ние получи к-битовия набор, който ще бъде сумата от двете числа в обратен код.
+10 Март + (- 1 10) = 011 + 110 2 2 = 1 001 001 2 B 2 1 = 010 2 = 2 10.
Изваждане номера в обратен код х - у е намален до допълнение х + (-ил).
3.3.1.3 Събиране и изваждане на подписани номера в допълнение две на
В допълнение допълнителен код е както следва: Редовен алгоритъм добавя всички битове, включително знака; прехвърляне единица к + 1-ия бит се изхвърля (т.е. по модул 2 к).
+10 Март + (- 1 10) = 011 + 111 2 2 = 1 010 2 010 2 B 2 = 10.
Когато се извади обичайния алгоритъм също работи, а ако по-малко от умалител умаляемо, двоичен код дължи на намалената напусна единица
(Т.е. добавят 2 к) и едва след това се изважда (този метод се нарича изваждане по модул 2 к).
1 10 -3 10 = 001 2-011 2 B 1001 2-011 2 = 110 2 = -2 10.
Ако х и у - цифров код допълнителни стойности подписани номера, числените стойности на допълнителни кодове сумата и разликата определят чрез следните формули:
х + у. ако х + у <2 k. ( x + y ) mod 2 k =
х + у - 2 к. ако х + у ≥ к 2
х - у. ако х ≥ у. (X - Y) Mod 2 к =
(2 к + х) - у. ако х 3.3.2 умножение и деление В много компютри, умножението се извършва като поредица от допълнения и промени. За тази цел, ALU има регистър, наречен акумулатор, който преди операцията се състои от цифрата нула. По време на работа има последователно разположени множителя и междинните резултати от добавки, и при завършване на операцията - крайния резултат. Друг регистър ALU участват в тази операция, се състои от първи множител. Тогава, както и изпълнението на съдържащата се в нея допълнения брой намалява, докато достигне до нула. Разделението на компютър е трудна работа. Обикновено това се осъществява чрез многократно добавяне на делител дели допълнителен код. 3.3.3 Грешки когато извършващи аритметични операции При извършване на аритметични операции може да бъде ситуации, в които най-значимите бита на резултатът от операцията не се вместват в зоната на паметта, запазено за него. По-долу са примери за изчисляване на грешка (к = 3). Добавяне подписан числа в обратен код: -3 10 + (-2 10) = 100 2 + 101 2 = 1 001 2 В 001 2 +1 = 010 2 = +2 10 Извадете знак кодови номера на заден ход: +2 10 - (-3 10) = 010 2 - 101 2 B 1 010 2 -101 2 = 101 2 = -3 10. Тази ситуация се нарича препълване цифрова част (мантиса) брой формат. За откриване на препълване и за грешка предупреждение специално оборудване, използвано в компютъра. Реакция на различни грешки, може да бъде различен. По този начин, посочване се намира в така наречените преливни знамена се регистрирате и изпълнението продължава в определен компютър в деление на нула изчислителна прекратен (Фатална грешка) и преливането на мантисата.
4 Представяне на реални числа
Реални числа (за разлика от цели числа) в областта на компютърните технологии, наречени номер като дробна част. Със своя имидж в много езици за програмиране се приема вместо запетая, за да завършите. Например, броят на 5 - цяло и от 5.1 и 5.0 - материал. За удобство на показване на номера, като стойности от доста широк диапазон (т.е., и двете много малък и много големи), формата на числата на корен на ред. Например, след десетичната броя 1.75 може да бъде във формата, представена както следва:
1,75 • 10 0 = 0,175 • 10 януари = 0.0175 • = 10 на февруари.
17.5 • 10 -1 = 175.0 • 10 -2 = 1750.0 • 10 = -3.
Всеки номер N в корен Q могат да бъдат написани като N = M • р р. където М е мантисата и р - ред. Подобен метод на запис, наречен числа с плаваща запетая представителство. Ако "плаващ" точката се намира в мантисата преди първата значеща цифра, а след това на фиксиран брой битове, отредени за мантисата, осигурява запис на максимален брой значещи цифри от номера, е максималната точност на номера на колата. От това следва, че мантисата трябва да бъде правилно фракция, първата цифра, която е различна от нула: М [0.1, 1). Дали най-изгодната за компютър представяне на реални числа се нарича нормализирана. Мантисата и реда р -ary номер обикновено е написано в системата с база р. и самата основа - в десетичната система.
4.1 Примери нормализирана представителни:
752.15 = 0.75215 • 10 март; = -101.01 - 0.10101 • 11 февруари (процедура 11 2 = 3 10)
- 0.000039 = - 0.39 • 10 -4; - 0.000011 2 = 0.11 • -100 (-100 ред 2 = 4 - 10)
Реални числа в компютрите от различни видове се записват по различни начини. В този случай, компютърен програмист обикновено дава възможност за избор от няколко числови формати най-подходящите за конкретна задача - с помощта на четири, шест, осем или десет байта.
Като пример, характеристиките на реални числа формати, използвани от IBM-съвместими персонални компютри:
4.3 аритметични операции на нормализирани номера
До началото на изпълнение на аритметична операция стъпки операнди са поставени в съответни регистри ALU.
Чрез добавяне и изваждане изпълнени за пръв път на подготвителната работа, наречени поръчки подравняване. По време от порядъка на мантисата подравняване е изместен към по-ниска цел в регистър, в дясно от броя на битовете, равни на разликата на поръчките за операнди. След всяка процедура промяна увеличава.
В резултат на това изравняване ред ниво брой същото име са разположени в съответните битове на двата регистъра, след мантисите се добавят или изваждат.
Ако е необходимо, този резултат се нормализира чрез изместване наляво на резултата от мантиса. След оставен за смяна на всяка поръчка резултат намалявана.
Пример 1. Сгънете нормализирана двоично число -1 2 0.10111 0.11011 • • 2 и 10. Разликата по отношение на поръчките е три тук, така че преди добавянето на мантисата е изместен към първите три цифрата:
Пример 2. Извършва се двоичен изваждане нормализирани номера 2 0.10101 0.11101 • • 10 и 2: 1. Разликата между Умаляемо и Умалител нареждания са равни на единство, така че мантисата преди изваждане на второто число е изместен от един бит надясно:
Резултатът не е нормализирана, така че си мантиса е изместен наляво от два бита със съответното намаление от порядъка на два блока: 0.1101 • 2 0.
Увеличението на броя на две нормализирани номера се добавят техните поръчки и умножават мантисата.
Пример 3. Извършване на двоичен умножение нормализирани номера:
(0.11101 • 2101) • (0.1001 • 11 2) = (0.11101 • 0.1001) • 2 (101 + 11) = 0.100000101 • Февруари 1000
При разделяне на две нормализирани числа изваждат от цел подгрупа за дивидент и мантисата на дивидента е разделен на мантиса делител. След това, ако е необходимо, резултатът е нормализирана.
Пример 4. Извършване на двоичен делене нормализирани номера:
0.1111 • 2 100. 0,101 • 11 февруари = (0,1111. 0.101) • 2 (100-11) = 1.1 • 2 януари = 0.11 • 10 февруари
Използването на представителството на числа с плаваща запетая значително усложнява верига ALU.