FormareColegii și universități

Ce este un număr în virgulă mobilă?

Prezentarea numerelor reale (sau reale), în cazul în care acestea sunt stocate ca o mantisă și exponent sunt plutitoare numere de puncte (probabil punct, așa cum se obișnuiește în țările vorbitoare de limba engleză). În ciuda acestui fapt, numărul este prevăzut cu o precizie relativă fixă și schimbarea absolută. Reprezentarea care este utilizat cel mai frecvent, aprobat IEEE 754. operații matematice standard care utilizează numere în virgulă mobilă sunt implementate în sistemele de calcul - hardware și software.

Punct sau virgulă

Lista detaliată a separatorului zecimal identifică acele țări și anglofitsirovannye vorbitori de limba engleză, în cazul în care înregistrările de numere separate printr-o parte fracționată a întregului punct, deoarece terminologia acestor țări au adoptat numele punctului plutitor - „punctul de plutire“. În Federația Rusă, partea fracționară a întregii tradiții, separate printr-o virgulă, deci reprezintă același concept a recunoscut istoric termenul „virgulă mobilă“. Cu toate acestea, astăzi, în documentația tehnică și în literatura rusă este permis ambele opțiuni.

Termenul „floating point“ provine de la faptul că o reprezentare număr de poziție este o virgulă (zecimală normale sau binar - un computer), care poate încăpea oriunde între numerele de linii. Această caracteristică este sigur să-l prevadă separat. Aceasta înseamnă că reprezentarea numerelor în virgulă mobilă poate fi considerată ca o implementare calculator a notație exponențială. Avantajul utilizării unei astfel de reprezentare a unui format de reprezentare punct fix și numere întregi pe care intervalul de valori crește în mod semnificativ atunci când precizia relativă rămâne neschimbată.

exemplu

Dacă virgula în numărul de fix, atunci arde este doar un singur format. De exemplu, având în vedere un pic de un număr de șase și două cifre în partea fracționară. Acest lucru se poate face numai în acest fel: 123456.78. Formatul numerelor de puncte care dau domeniul de aplicare plin de exprimare plutitoare. De exemplu, având în vedere aceleași opt cifre. opțiuni de înregistrare poate fi orice în cazul în care programatorul nu face două cifre zgârciți câmp suplimentar de serviciu, în cazul în care acesta va înregistra exponenții care sunt de obicei 10, și 0-16, și evacuări în timp ce numărul total va fi de zece 8 + 2.

Unele variante ale înregistrării, care vă permite să formatați numere cu virgulă mobilă: 12345678000000000000; 0.0000012345678; 123.45678; 1.2345678 și așa mai departe. În acest format, există chiar și o unitate de măsură a vitezei! Mai degrabă, performanța unui sistem informatic care înregistrează viteza la care computerul efectuează operațiuni în cazul în care există o reprezentare a numerelor în virgulă mobilă. Această performanță este măsurată în termeni de FLOPS (operații în virgulă mobilă pe secundă, ceea ce se traduce numărul de tranzacții pe secundă cu virgulă mobilă). Aceasta este unitatea de bază în viteza de sistem informatic de măsurare.

structură

Numărul de înregistrare în formatul punctului plutitor este necesar, după cum urmează, observând secvența pieselor obligatorii, pentru că această înregistrare este exponențială, care prezintă numerele reale ca o mantisă și ordine. Este necesar să se reprezinte un număr prea mare și prea mici, ele sunt mult mai ușor de citit. piese necesare: numărul înregistrat (N), mantisa (M), ordinea semnului (p) și ordinea (n). Ultimele două caracteristici ale semnului. Prin urmare, N = M. n p. Deci, în scris numere în virgulă mobilă. Exemplele vor fi variate.

1. Este necesar să se înregistreze numărul de un milion, astfel încât să nu se piardă în zerouri. 1000000 - este o înregistrare normală, aritmetică. Un calculator este după cum urmează: 1.0. 06 octombrie. Adică, zece la puterea a sasea - trei semne, care se potrivesc în cât mai multe șase zerouri. Astfel se produce o reprezentare a numerelor de punct fix și flotant în cazul în care imediat poate detecta diferențele de ortografie.

2. Și un astfel de număr greu este 1435000000 (un miliard de 435000) , de asemenea , poate fi scris pur și simplu: 1435. 10 septembrie numai. Deci, este cu semnul minus se poate scrie orice număr. Asta e, și diferă unul de altul, cu numărul de punct fix și flotant.

Dar este mai mult de modul în care să fie scăzut? Da, prea ușor.

3. De exemplu, întrucât marca un milion? = 0.000001 1.0. 10 -6. Facilitat și numere Profund scris și citit-o.

4. O mai complicat? Cinci sute patruzeci și șase billionth: 0.000000546 = 546. 10 -9. Aici. Gama de virgulă mobilă este foarte largă.

formă

Numărul de formular poate fi normal sau normalizat. Normal - să respecte întotdeauna precizia numerelor în virgulă mobilă. Trebuie remarcat faptul că mantisa în această formă, fără a lua în considerare semnul, este jumătate din intervalul 0 1, 0 ⩽ o <1. Nu în forma normală a numărului de pierde precizia. Dezavantajul formei normale este faptul că multe numere pot fi scrise în diferite moduri, care este ambiguă. EXEMPLU diferite înregistrări ale aceluiași număr: 0 = 0,0001, 000001. 10 2 = 0,00001. 10 ianuarie = 0,0001. 10 0 = 0,001. 10 -1 = 0,01. 10 -2, și astfel poate fi mult mai mult. Acesta este motivul pentru care computerul utilizează o notație normalizat diferită, în cazul în care zecimal mantisa își asumă valoarea unităților (inclusiv), și, astfel, la zece (nu sunt incluse), și în același mod numărul binar mantisă are o valoare între unul (inclusiv) la două (nu inclusiv).

Deci, 1 ⩽ a <10 Acest -. Numere binare cu virgulă mobilă, iar această formă de înregistrare orice număr ( cu excepția punctului zero) captează un mod unic. Dar, de asemenea, există un dezavantaj - incapacitatea de a imagina acest tip de zero. Prin urmare, informatica prevede utilizarea numerelor speciale 0 semn (bit). Partea întreagă (MSB) a mantisei în numărul binar cu excepția punctului zero într-o formă normalizată este egal cu 1 (unitate implicită). Această înregistrare este folosit standardul IEEE 754. Sistemul număr pozițional, în care baza este mai mult de două (ternare, cuaternar și alte sisteme), această proprietate nu este achiziționat.

numere reale

Numerele reale cu virgulă mobilă și sunt, de obicei, la fel cum nu este singurul, ci un mod foarte convenabil de a reprezenta un număr real, cum ar fi, un compromis între intervalul de valori și precizie. Acest lucru este analog cu notație exponențială, efectuate numai pe calculator. Număr în virgulă mobilă - un set de biți individuali este împărțit într - un semn (semn), ordine (exponent) și mantisa (mantis). Cel mai cunoscut format este un IEEE număr de 754 în virgulă mobilă ca un set de biți care codifică o parte a mantisei sale, pe de altă parte - de gradul și un bit indică semnul numărului: zero, - dacă este pozitiv, unitatea - dacă numărul este negativ. Întreaga procedură este înregistrată de un număr (cod-shift), iar mantisa - într-o formă normalizată, partea fracționată - în sistem binar.

Fiecare semn - este un singur bit care indică semnul pentru toate numerele în virgulă mobilă. Mantisă și ordine - sunt numere întregi, ei, împreună cu semnul și de a face reprezentarea numerelor în virgulă mobilă. Procedura poate fi numită exponențială sau exponent. Nu toate numerele reale pot fi reprezentate într-un calculator în semnificația lor exactă, altele sunt prezentate valori aproximative. O opțiune mult mai simplă - să prezinte un număr real, cu un punct fix, în cazul în care realul și întreaga parte vor fi păstrate separat. Cel mai probabil, astfel încât partea întreagă este întotdeauna alocat biți X, și o fracționar - biți Y. Dar arhitectura de procesoare nu sunt conștienți de o astfel de metodă, ci pentru că se acordă prioritate numărul de virgulă mobilă.

plus

Adăugarea de numere în virgulă mobilă este destul de simplu. În legătură cu numărul standard unic de precizie IEEE 754 are un număr mare de biți, deci este mai bine pentru a trece la exemple, cu o idee mai bună de a lua cel mai mic număr în virgulă mobilă. De exemplu, cele două numere - X și Y.

variabil marca exponent mantisă
X 0 1001 110
Y 0 0111 000

Pașii sunt după cum urmează:

a) Numerele trebuie să fie reprezentate în formă normalizată. Este în mod clar una ascunsă. X = 1.110. 2 2 și Y = 1.000. 2 0.

b) Continuarea procesului de compoziție poate egaliza doar expozanții, dar are nevoie pentru a rescrie valoarea lui Y. Aceasta va corespunde cu valoarea numerelor normalizate, cu toate că, de fapt, - unnormalizes.

Se calculează diferența dintre exponenții de gradul 2 - 0 = 2. Acum muta mantisa pentru a compensa aceste modificări, adică, se adaugă 2 la index al doilea termen, astfel se deplasează o virgulă de unități ascunse, la două puncte la stânga. 0.0100 se obține. 02 februarie. Acest lucru va fi echivalentul valorii anterioare Y, atunci există deja o Y“.

c) Acum trebuie să adăugați până la numărul de mantisă X și Y. ajustate

+ 0,01 = 1.110 10,0

Expozanti încă este reprezentată de parametrul X, care este egal cu 2.

g) Suma primită în etapa anterioară, mutat unitatea de normalizare, atunci ai nevoie pentru a schimba suma exponentul și se repetă. 10.0 cu doi biți la stânga punctului zecimal, numărul este necesar să se normalizeze, adică, mutați virgula spre stânga cu un punct, și exponent, respectiv, a crescut cu 1. Se pare 1.000. 02 martie.

e) Este timpul pentru a converti un număr în virgulă mobilă în sistem cu un singur octet.

sumă marca exponent mantisă
X + Y 0 1010 000

concluzie

După cum puteți vedea, adăuga aceste numere nu sunt prea greu, tot ce plutește prin virgulă. Cu excepția cazului, desigur, cu excepția pentru aducerea numărului de exponent mai mic în rândul mai mult (în exemplul de mai sus, a fost Y la X), precum și restabilirea status quo-ului, și anume problema de compensare - muta punctul zecimal la stânga a mantisei. Atunci când a fost deja aplicată plus, este foarte posibil și încă o problemă - perenormirovanie și biți trunchierea dacă numărul lor nu se potrivește cu numărul să-l reprezinte.

multiplicare

Sistemul binar oferă două metode prin care se multiplică numerele în virgulă mobilă. Această sarcină poate fi realizată prin multiplicarea, care începe cu biții cei mai puțin semnificativi și care începe cu biții de ordin superior din multiplicator. Ambele cazuri conțin un număr de operații de stivuire secvențial produs parțial. Aceste operațiuni sunt controlate prin adăugarea de biți de multiplicare. Deci, în cazul în care unul dintre biții de multiplicare este o unitate, suma produselor parțiale ale deînmulțitul crește cu o schimbare corespunzătoare. Dacă o cifră a multiplicatorului furișat la zero, în timp ce deînmulțitul nu este adăugat.

În cazul în care multiplicarea se realizează doar două numere, produsul dintre numerele din valoarea sa nu poate depăși numărul de cifre conținute în factori, mai mult de două ori, iar pentru un număr mare este foarte, foarte mult. Dacă înmulțit cu unele număr, produsul nu riscă să încapă pe ecran. Deoarece numărul de biți de orice aparat digital este foarte limitată, și forțează să se limiteze la maximum de două ori numărul de sumatoare cifre. Și în cazul în care numărul de locuri este limitat, în produsul va introduce în mod inevitabil erori. În cazul în care valoarea de calcul este mare, eroarea de suprapunere, și ca rezultat crește foarte mult acuratețea generală. Aici, singura cale - pentru a rotunji rezultatele de multiplicare, atunci lucrările de eroare au fost alternativ. Atunci când o operațiune de multiplicare, devine posibil să se meargă dincolo de grila de cifre, ci doar de mai tineri, pentru că există o limită impusă numărului de care sunt reprezentate sub formă de punct fix.

unele explicații

Mai bine să înceapă de la început. Cea mai frecventă modalitate de a reprezenta numărul - numerele de linie ca un întreg, în cazul în care virgula este implicată în sfârșit. Acest șir poate fi orice lungime, dar o virgulă stă în locul potrivit să-l puneți, separând întreg de partea fracționară a acesteia. Formatul de prezentare a sistemului de-un punct fix pune în mod necesar anumite condiții privind locația punctului zecimal. notație științifică folosește o vedere normalizată standard al reprezentării numerelor. Acesta aqn {\ displaystyle ^ aq {n }} aq n. Aici un {\ displaystyle a} a, și este numit dantela mantisa. Doar despre asta a fost spus că 0 ⩽ o clar: n {/ displaystyle n} n - exponent întreg, și q {/ displaystyle q} q - De asemenea , un număr întreg, care este baza radix (o literă este adesea 10). Mantisă lăsa o virgulă după prima cifră care nu este zero, dar înregistrarea ulterioară este transferată la informațiile privind valoarea actuală a numărului.

Numărul de virgulă flotantă este scris foarte similar cu toate numerele clare de intrare standard, doar exponentul și mantisa sunt înregistrate separat. Ultima la fel și într-un format normalizat - punct fix, care este decorat cu prima cifră semnificativă. Doar punctul flotant este utilizat în principal în calculator, adică, în reprezentarea electronică în cazul în care sistemul nu este zecimal și binar, în cazul în care chiar și mantisa Denormalizați punctul rearanjate - acum este înainte de prima cifră, apoi înainte, nu după ce, în cazul în care partea întreagă în principiu, nu poate fi. De exemplu, sistemul nostru zecimal ar da nouă sistemul său binar pentru utilizare temporară. Și care va înregistra și mantisa sale în virgulă mobilă de genul: +1001000 ... 0, și și indicele de 0 ... 0100. Dar sistemul zecimal nu reușește să producă astfel de calcule complexe, care pot fi în binar, folosind formularul de virgulă mobilă.

aritmetică lung

În calculatoarele electronice au construit în pachete software, în cazul în care alocate pentru mantisa și exponentul cantitatea de memorie specificată de software, limitată doar de dimensiunea memoriei calculatorului. Se pare ca o aritmetică lungă, adică, operații simple pe numere care efectuează calculator. Este tot același - scăderea și adăugarea, diviziunea și multiplicarea, funcțiile elementare și construcția rădăcinii. Dar numărul de foarte diferite, capacitatea lor este semnificativ mai mare decât lungimea cuvântului mașinii. Punerea în aplicare a acestor operațiuni nu este de hardware și software, dar este utilizat pe scară largă de hardware de bază pentru a lucra cu un număr mult mai mic de comenzi. Există mai multe și aritmetică, în cazul în care numerele de lungime limitată doar de capacitatea de memorie - aritmetică de precizie arbitrară. O aritmetică lung este folosit în multe domenii.

1. Pentru a compila codul (procesoare, microcontrolere cu adâncime mică de biți - registre de 10 biți și lungime cuvânt de opt biți, nu este suficient să se ocupe de informații de la analog-digital (analog-digital convertor), și, prin urmare, nu se poate face fără o aritmetică lungă.

2. Este , de asemenea , o aritmetică lungă este folosită pentru criptografie, în cazul în care este necesar să se asigure acuratețea rezultatului exponentiere sau multiplicare 10309. aritmetică Integer este utilizat modulo m - un număr mare natural, și nu este neapărat simplu.

3. Software-ul pentru finanțatori și matematicieni, de asemenea, nu este fără o aritmetică lungă, pentru că singura modalitate de a verifica rezultatele calculelor pe hârtie - cu ajutorul calculatorului, asigurând o precizie ridicată a numerelor. floating point ele pot implica orice număr de descărcare lung. Dar calculele de inginerie și activitatea de oameni de știință necesită calcule program de interventie foarte des, deoarece este foarte dificil de a face datele de intrare, fără a face greșeli. acestea sunt de obicei mult mai voluminos decât rezultate de rotunjire.

Lupta cu erori

Atunci când un număr de operațiuni în care punctul plutitoare, este foarte dificil de a evalua acuratețea rezultatelor. Nu a fost încă inventat care întrunesc toate teoria matematică, care ar ajuta la rezolvarea acestei probleme. Dar întreg de eroare evalueze cu ușurință. Posibilitatea de a scăpa de inexactități pe suprafata - trebuie doar să utilizați numai numărul de puncte fixe. De exemplu, un program financiar construit pe acest principiu. Cu toate acestea, există mai simple: numărul necesar de cifre după virgulă este cunoscut în prealabil.

Alte aplicații nu sunt limitate la acestea, pentru că nu se poate lucra fie cu numere foarte mici sau foarte mari. Deci, atunci când lucrați întotdeauna ia în considerare faptul că pot exista inadvertențe, și pentru că derivarea rezultatelor este necesară rotund. Mai mult decât atât, rotunjiri automată este adesea o lipsă de acțiune, și frământarea, prin urmare, este definit în mod specific. Foarte periculos în acest sens, operația de comparație. Există chiar și estimează cantitatea de erori viitoare este extrem de dificil.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ro.delachieve.com. Theme powered by WordPress.