muzruno.com

Какви са номерата с плаваща запетая?

Формата на представяне на реални (или реални) номера, където те се съхраняват като мантиси и експоненти, са номера с плаваща запетая (може би точка, както е обичайно в англоговорящите страни). Въпреки това броят е снабден с определена относителна точност и с различна абсолютна стойност. Най-често използваното представяне е одобрено от стандарта IEEE 754. Математическите операции, при които се използват числа с плаваща запетая, се изпълняват в компютърни системи, хардуер и софтуер.

номера с плаваща запетая

Точка или запетая

Подробният списък с десетичен разделител идентифицира онези англоговорящите страни и anglofitsirovannye, където записите от числа, разделени с дробна част от цялата работа, защото терминологията на тези страни, приети името плаваща запетая - "плаваща запетая". В Руската федерация, дробна част от цялото традиция, разделени със запетая, така че тя представлява едно и също понятие исторически признат терминът "плаваща запетая". Въпреки това днес и в техническата документация, и в руската езикова литература, и двата варианта са съвсем приемливи.

Терминът "номера с плаваща запетая" идва от факта, че позиционното представяне на число представлява запетая (обикновен десетичен или двоичен компютър), която може да се побере навсякъде сред числата на низа. Тази функция трябва да бъде обсъдена отделно. Това означава, че представянето на номера с плаваща запетая може да се разглежда като компютърно въвеждане на запис с експоненциален номер. Предимството на използването на такова представяне върху представянето на формат и цели числа с фиксирана точка е, че диапазонът от стойности нараства значително, докато относителната точност остава непроменена.

пример

Ако запетаята в номера е фиксирана, можете да я напишете само в един формат. Например, са дадени шест битови числа с число и два бита във фракционна част. Това може да се направи само по следния начин: 123456,78. Форматът на числата с плаваща запетая дава пълен обхват на изразяване. Например са дадени същите осем бита. Опции на запис може да бъде всеки, ако програмистът не прави двуцифрен икономисвайте мито допълнително поле, където тя ще запише експонатите, които обикновено са 10, и от 0 до 16 и зауствания, докато общият брой ще бъде десет 8 + 2.

Някои опции за писане, които позволяват формата на номера с плаваща запетая: 12345678000000000000- 0.0000012345678- 123.45678- 1.2345678 и така нататък. Този формат има дори единица за измерване на скоростта! По-скоро скоростта на компютърната система, която определя скоростта, с която компютърът извършва операции, където има изображение на номера с плаваща запетая. Това изпълнение се измерва по отношение на флоп (операции с плаваща запетая в секунда, което се превежда като броят на сделките в секунда с плаваща запетая). Това устройство е основното устройство за измерване на скоростта на компютърната система.

формат на числата с плаваща запетая

структура

За да напишем число във формат с плаваща запетая, то е необходимо по следния начин, като спазваме последователността на необходимите части, тъй като този запис е експоненциален, където реалните числа са представени като мантиси и ред. Това е необходимо, за да се представят прекалено големи и твърде малки, е много по-удобно да ги прочетете. Задължителни части: записаният номер (N), мантисата (M), знакът на реда (p) и редът (n). Последните два знака представляват характеристика на числото. Следователно, N = M . пр. Така че числата с плаваща запетая се записват надолу. Примерите ще бъдат различни.

1. Необходимо е да напишете номера от един милион, за да не се объркате в нули. 1000000 е нормален запис, аритметичен. Компютърът изглежда така: 1.0 . 106. Това означава, че десет в шестата степен - три знака, които пасват до шест нули. По този начин се представят числата с фиксирана точка и плаваща запетая, където можете веднага да откриете различията в правописа.

2. И такъв труден номер като 1435000000 (един милиард четиристотин тридесет и пет хиляди) също може просто да бъде написан: 1,435 . 109, само. По същия начин, с знак минус, можете да напишете номера. Тук цифрите с фиксирана точка и плаваща запетая се различават една от друга.

Но това са големи числа, как да се справят с малките? Да, твърде лесно.

3. Например, как да се определи една милионна? 0.000001 = 1.0 . 10-6. Значително улеснява писането на номера и четенето му.

4. И по-трудно ли е? Петстотин четиридесет и шест милиарда: 0.000000546 = 546 . 10-9. Ето. Обхватът на представяне на номера с плаваща запетая е много широк.

представяне с плаваща запетая

форма

Формата на числото може да бъде нормална или нормализирана. Нормално - винаги спазва точността на числата с плаваща запетая. Трябва да се отбележи, че мантисата в тази форма, без да се вземе предвид знака, е на половината от интервала: 0 1, оттам 0 ⩽ a < 1. Номерът не губи своята точност в нормалната форма. Недостатъкът на нормалната форма на числото е, че много номера могат да бъдат написани по различни начини, тоест двусмислени. Пример за различен запис със същото число: 0.0001 = 0, 000001 . 102 = 0.00001 . 101 = 0.0001 . 100 = 0.001 . 10-1 = 0,01 . 10-2 и така можете да останете много. Ето защо компютърът използва различен нормализирана бройна система, където десетичната мантисата поема стойността на дяловете (включително), и по този начин до десет (не е включена), и по същия начин двоичен номер мантиса е на стойност между един (включително) до две (не включително).

Следователно, 1 ⩽ a < 10. Това - двоични числа с плаваща запетая и тази форма на писане на който и да е номер (с изключение на нула) се уточнява уникално. Но има и недостатък - невъзможността в тази форма е нула. Следователно компютърната наука осигурява използването на специална характеристика (bit) за номер 0. Цялата част от числото (най-високата цифра) на мантисата в двоично число, с изключение на нула в нормализираната форма, е 1 (имплицитна единица). Такъв запис се използва от стандарта IEEE 754. Системите за позиционно обозначаване, при които базата е по-голяма от две (три, кватернерни и други системи), тази характеристика не е придобита.

напишете число във формат с плаваща запетая

Реални номера

Реалните номера с плаваща запетая обикновено са единственият начин, тъй като това не е единственият, но много удобен начин за представяне на реално число, което е компромис между диапазона от стойности и точност. Това е аналогично на експоненциалния запис, който току-що е изпълнен в компютъра. Номерът с плаваща запетая е набор от отделни битове, разделени от марка (Вход) ред (експонент) и мантиса (Mantis). Най-често срещаният формат е IEEE 754 число с плаваща точка на като набор от битове, които кодират част от своята мантиса, от друга страна - степента и един бит показва знака на броя: нула - ако тя е положителна, устройството - ако числото е отрицателно. Цялата процедура се записва с цифра (код отместване) и мантисата - в нормализирана форма, фракционния част - в двоична система.

Всеки знак е един бит, който показва знак за число с плаваща запетая. Матисите и редът са цели числа, те се комбинират със знак и представят числото с плаваща запетая. Поръчката може да се нарече експонент или експонент. Не всички реални номера могат да бъдат представени в компютъра в точния им смисъл, докато останалите са представени с приблизителни стойности. Много по-простият вариант е да представлява реално число с фиксирана точка, където реалната и цялата част се съхраняват отделно. Най-вероятно, по такъв начин, че цялата част винаги да е разпределена X битове и частични - Y бита. Но процесорните архитектури не знаят този метод, така че предпочитанието се дава на номера с плаваща запетая.

обхват на представяне с плаваща запетая

допълнение

Добавянето на номера с плаваща запетая е съвсем проста. Във връзка със стандартна единична точност броя на IEEE 754, че има голям брой битове, така че е по-добре да се премине към примерите, с по-добра идея да се вземе най-малкото число с плаваща запетая. Например, две числа - X и Y.

променливмаркаекспонатмантиса
X01001110
Y00111000

Стъпките са както следва:



а) Номерата трябва да бъдат представени в нормализирана форма. Очевидно е, че се появява скрита единица. X = 1.110 . 22, и Y = 1,000 . 20.

b) Можете да продължите процеса на добавяне само като уравнявате експонентите и за това трябва да презапишете стойността на Y. Тя ще съответства на стойността на нормализирания брой, въпреки че в действителност ще бъде денормализирана.

Изчислява се разликата между експонатите на степен 2 - 0 = 2. Сега се движат мантисата за компенсиране на тези промени, това означава, добавете 2 към индекса на втория план, като по този начин се движат със запетая скрити единици в две точки от ляво. Оказва се 0.0100 . 22. Това ще бъде еквивалентно на предишната стойност на Y, т.е. вече Y `.

в) Сега трябва да сгънем мантията с числото Х и коригираното Y.

1,110 + 0,01 = 10,0

Експонентът все още е равен на представения индикатор X, който е равен на 2.

г) Сумата, получена в предишния етап, е изместила единицата за нормализация, така че трябва да смените експонента и да повторите сумирането. 10.0 с два бита отляво на запетаята, сега числото трябва да бъде нормализирано, т.е. да се премести запетаята вляво с една точка и да се увеличи експонента с 1. Оказва се, че 1000 . 23.

д) Време е да преобразувате номера с плаваща запетая в еднобайтова система.

сумамаркаекспонатмантиса
X + Y01010000

заключение

Както можете да видите, добавете тези числа не са прекалено твърди, нещо, което плува запетая. Освен ако, разбира се, с изключение на което броят на по-ниска степен сред повече (в горния пример, това е база до X), както и възстановяването на статуквото, т.е. въпросът за компенсация - преместване на десетичната точка отляво на мантисата. Когато вече е била прилагана добавянето, много е възможно и още един проблем - perenormirovanie и орязване малко, ако броят им не съответства на броя, за да го представлява.

запълване с плаваща запетая

умножение

Двойно означение предлага два начина за умножаване на номера с плаваща запетая. Тази задача може да се извърши чрез умножаване, което започва с най-ниските цифри и започва с най-високите цифри в множителя. И двата случая съдържат цяла поредица от операции, последователно събиране на частни произведения. Тези операции за добавяне се контролират от битовете на множителя. Следователно, ако има една в една от цифрите на множителя, тогава сумата от частичните продукти нараства умножена със съответната промяна. И ако нулата се умножи в множителя, тогава multiplicand не се добавя.

Ако умножение се извършва само с две цифри, продукт на числата в неговия размер не може да надвишава броя на цифрите, които се съдържат в факторите, повече от два пъти, а за големите числа е много, много. Ако се умножат няколко числа, продуктът рискува да не бъде поставен на екрана. Тъй като броят на бита на всеки цифров апарат е много ограничен, а това принуждава да се ограничи максимум два пъти броя разширители цифри. И ако броят на цифрите е ограничен, грешка неизбежно влиза в работата. Ако обемът на изчисленията е голям, тогава грешките се наслагват и в резултат на това общата грешка значително се увеличава. Тук единственият изход е да се закръглят резултатите от умножаването, а след това грешката на продукта ще се променя. Когато една операция умножение, става възможно да се излезе извън мрежата на цифрите, но само от по-младите, защото има ограничение, наложено от броя на които са представени под формата на фиксирана точка.

Някои обяснения

За да започнете по-добре първо. Най-честият начин за представяне на число е като низ от цифри като цяло число, където запетаята се означава в самия край. Тази линия може да бъде с всякаква дължина, а запетаята е в най-необходимото място, разделяйки цялото число от частичната част. Форматът на представянето на фиксирана точка на дадена система задължително поставя определени условия за местоположението на запетаята. Експоненциалната нотация използва стандартното нормално представяне на номерата. Това е q n { displaystyle aq ^ {n}} aqп. Тук { displaystyle a}а, и тази дантела се нарича мантиса. Само за това се казва, че 0 ⩽ a < р. Освен това всичко вече трябва да е ясно: n {/ displaystyle n}п - цяло число, експонент и q {/ displaystyle q}р - също цяло, което е в основата на дадена система от числа (и в писмото обикновено е 10). В мантисата ще остане запетая след първата цифра, която не е нула, но се записва допълнителна информация за действителната стойност на номера.

Номерът с плаваща запетая е много подобен на стандартната стандартна нотация за числа, само експонентът и мантисата са написани отделно. Последният също е в нормализиран формат - с фиксирана запетая, която украсява първата значима цифра. Само с плаваща запетая се използва предимно в компютъра, което е, в електронния представителството на където системата не е десетична и двоична, където дори мантиса Денормализиране пренаредени точка - сега тя е преди първата цифра, а след това и преди, а не след това, когато цялата част по принцип не може да бъде. Например нашата естествена десетична система ще даде девет на двойната система за временно ползване. И тя ще го напише с мантиси с плаваща запетая по този начин: +1001000 ... 0 и +0 ... 0100 към него. Десетичната система обаче не може да произведе такива сложни изчисления в двоичен вид, като използва форма с плаваща запетая.

примери с плаваща запетая

Дълги аритметика

В електронните компютри имат вградени софтуерни пакети, в които разпределят за мантисата и експонентата на размера на паметта определен софтуер, ограничени само от размера на паметта на компютъра. Това е колко дълго изглежда аритметиката, т.е. прости операции по номера, изпълнявани от компютър. Те са едни и същи - изваждане и добавяне, разделяне и умножение, елементарни функции и конструкцията в корена. Но само числата са напълно различни, тяхната дълбочина на битовете може значително да надвишава дължината на компютърната дума. Изпълнението на такива операции не е хардуер, а софтуер, но основният хардуер е широко използван при работа с числено много по-ниски поръчки. Има и аритметика, където дължината на номерата е ограничена единствено до размера на паметта - произволна аритметична точност. В много области се използва дълга аритметика.

1. За да компилирате кода (процесори, микроконтролери с ниска битова дълбочина - 10-битови регистри и осем-битова дължина на думата, това не е достатъчно, за да се справят с информацията от аналогово-цифров (аналогово-цифров преобразувател), и поради това не може да мине без дълъг аритметика.

2. Също така, за криптографията се използва дълга аритметика, където е необходимо да се гарантира точността на резултата от повишаването до сила или умножаване до 10309. Цялата аритметика се използва modulo m - голямо естествено число, а не непременно просто.

3. Софтуер за финансисти и математици, също не е без дълго аритметика, защото единственият начин да се проверят резултатите от изчисленията на хартия - с помощта на компютъра, като се гарантира висока точност на числата. Плаваща точка те могат да нарисуват толкова дълго, колкото желаете. Но инженерните изчисления и работата на учените рядко изискват интервенция на софтуерни изчисления, тъй като е много трудно да се въвеждат входните данни без да се правят грешки. Те обикновено са много по-големи от резултатите от закръгляването.

Бойни грешки

При операции с числа, в които се забива запетая, е много трудно да се оцени грешка на резултатите. Досега не е измислена математическа теория, която да удовлетворява всичко, което би помогнало да се реши този проблем. Но грешките с цели числа са лесни за оценка. Възможността да се отървете от неточности е на повърхността - просто използвайте само номера с фиксирана запетая. Например, финансовите програми се основават на този принцип. Обаче е по-лесно: необходимия брой цифри след десетичната запетая е известен предварително.

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

Споделяне в социалните мрежи:

сроден