FormatieHogescholen en universiteiten

Wat is een floating point nummer?

De presentatie van echte (of reële) getallen, waar ze als een mantisse en exponent zijn floating point getallen zijn opgeslagen (misschien punt, zoals gebruikelijk is in het Engels-sprekende landen). Desondanks is het nummer van een vaste relatieve nauwkeurigheid en absolute veranderen. Vertegenwoordiging die het meest wordt gebruikt, goedgekeurde standaard IEEE 754. wiskundige bewerkingen die floating-point getallen worden in computersystemen geïmplementeerd gebruiken - zowel hardware als software.

Punt of komma

De gedetailleerde lijst van Decimaalscheidingsteken identificeert de Engels-sprekende landen en anglofitsirovannye, waar de administratie van getallen gescheiden door een fractionele deel van het hele punt, omdat de terminologie van deze landen nam de naam floating point - "floating point". In de Russische Federatie, de fractionele deel van het geheel van de traditie, van elkaar gescheiden door een komma, dus het vertegenwoordigt het zelfde concept is van oudsher de term "floating point" herkend. Echter, vandaag in de technische documentatie en in de Russische literatuur is het toegestaan beide opties.

De term "floating point" is ontstaan uit het feit dat een positionele getalrepresentatie is een komma (normaal decimaal of binair - een computer) die overal tussen de lijnen nummers kunnen passen. Deze functie is zeker om het afzonderlijk bepalen. Dit betekent dat de vertegenwoordiging van floating point getallen als een computer uitvoering van exponentiële notatie kan worden beschouwd. Het voordeel van een dergelijke weergave van een representatie format vast punt en gehele getallen die variëren van waarden groeit significant wanneer dat relatieve nauwkeurigheid onveranderd blijft.

voorbeeld

Als de komma in het aantal vaste, dan verbrandt het is slechts een formaat. Bijvoorbeeld, gegeven een beetje zes in getal en twee cijfers het breukdeel. Dit kan alleen worden gedaan op deze manier: 123.456,78. Het formaat van floating point getallen geven alle ruimte voor expressie. Bijvoorbeeld, gezien de dezelfde acht cijfers. Opname opties kunnen elk als de programmeur maakt geen tweecijferige zuinig duty extra veld, waar de exponenten die typisch 10, en 0 tot 16 zal opnemen, en mondt terwijl het totale aantal wordt tien 8 + 2.

Sommige uitvoeringsvormen van de opname, waarmee u nummers met floating point-formaat: 12345678000000000000; ,0000012345678; 123,45678; 1.2345678 en ga zo maar door. In dit formaat, is er zelfs een eenheid van de meting van de snelheid! Integendeel, de prestaties van een computer systeem dat de snelheid waarmee de computer voert bewerkingen waar sprake is van vertegenwoordiging van floating point getallen registreert. Deze prestatie wordt gemeten in FLOPS (drijvende-kommabewerkingen per seconde, wat zich vertaalt naar het aantal transacties per seconde met een drijvende komma). Dit is de basiseenheid in het meetcomputer systeemsnelheid.

structuur

Recordnummer in het floating point formaat moet als volgt met inachtneming van de sequentie van de bindende delen, omdat deze plaat exponentieel, welke de reële getallen als mantisse en orde toont. Het is noodzakelijk om te groot en te kleine aantallen vertegenwoordigen, ze zijn veel gemakkelijker te lezen. Benodigde onderdelen: het geregistreerde aantal (N), de mantisse (M), de volgorde van het teken (p) en de volgorde (n). De laatste twee kenmerken van de teken. Dus N = M. np. Dus geschreven floating-point getallen. Voorbeelden worden gevarieerd.

1. Het is noodzakelijk om het aantal van een miljoen op te nemen, om niet te verdwalen in de nullen. 1000000 - het is een normale opname, rekenkunde. Een computer is als volgt: 1.0. 6 oktober. Dat wil zeggen, tien tot de zesde macht - drie borden, die passen in maar liefst zes nullen. Zo treedt representatie van het aantal vaste als drijvende komma, waar onmiddellijk kunnen verschillen in spelling te detecteren.

2. En zo'n harde nummer 1435000000 (een miljard 435.000) kan ook eenvoudig worden geschreven: 1.435. 10 september alleen. Zo is het met een minteken kan een willekeurig aantal schrijven. Dat is het en van elkaar verschillen met het aantal vaste als drijvende komma.

Maar het is meer van hoe laag zijn? Ja, te gemakkelijk.

3. Bijvoorbeeld, als een miljoenste merk? = 0.000001 1.0. 10 -6. Aanzienlijk vergemakkelijkt en nummers schrijven en lezen.

4. Een meer ingewikkeld? Vijfhonderd en zesenveertigste miljardste: 0,000000546 = 546. 10 -9. Hier. Het bereik van floating point is zeer breed.

vorm

Vorm aantal kan normaal of genormaliseerd zijn. Normaal - altijd respecteren de precisie van getallen met drijvende komma. Opgemerkt wordt dat de mantisse in deze vorm, zonder rekening te houden met het teken, is de helft van het interval 0 1 dan 0 ⩽ a <1. Niet in de normale vorm van het aantal verliest zijn nauwkeurigheid. Het nadeel van de normale vorm is dat veel nummers geschreven kan worden op verschillende manieren, dat is dubbelzinnig. VOORBEELD verschillende opslagelementen van hetzelfde nummer: 0 = 0,0001, 000001. Februari 10 = 0,00001. Januari 10 = 0,0001. 10 0 = 0.001. 10 -1 = 0,01. 10 -2, enzovoort kan veel meer zijn. Daarom heeft de computer een ander genormaliseerde notatie, waarin de mantisse decimale neemt de waarde van de eenheden (inclusief), en dus tien (niet inbegrepen) en op dezelfde wijze de mantisse binaire getal een waarde tussen één (inclusief) tot twee (niet inclusive).

Dus, 1 ⩽ een <10 -. Binaire getallen met floating point, en deze vorm van het opnemen van een aantal (behalve nul) vangt een unieke manier. Maar ook is er een nadeel - het onvermogen om dit soort nul voorstellen. Daarom informatica voorziet in het gebruik van speciale nummers 0-teken (bit). Het gehele deel van (MSB) van de mantisse in het binaire getal behalve nul in een genormaliseerde vorm gelijk aan 1 (impliciete eenheid). Dit record wordt gebruikt IEEE 754. Het positionele getallenstelsel, waarbij de base meer dan twee (ternaire, quaternaire en andere systemen), is deze eigenschap niet gekocht.

reals

Reële getallen met floating point en zijn meestal net zoals het is niet de enige, maar een zeer handige manier om een reëel getal vertegenwoordigen, als het ware, een compromis tussen het bereik van waarden en nauwkeurigheid. Dit is analoog aan exponentiële notatie, alleen uitgevoerd op de computer. Drijvende komma getal - een reeks afzonderlijke bits wordt verdeeld in een teken (teken), teneinde (exponent) en mantisse (sprinkhaan). De meest voorkomende vorm is een IEEE-754 drijvende-komma getal als een reeks bits die een deel van de mantisse, anderzijds coderen - de mate en het ene bit geeft het teken van het getal: nul - indien positief, de eenheid - als het getal negatief is. De gehele procedure wordt geregistreerd door een nummer (code-shift) en de mantisse - in een genormaliseerde vorm, het breukdeel - in het binaire systeem.

Elk teken - is een enkel bit dat het teken voor alle floating-point getallen aangeeft. Mantissa en orde - zijn gehele getallen, zij, samen met het bord en maak de vertegenwoordiging van floating point getallen. De procedure kan een exponentiële of exponent worden genoemd. Niet alle reële getallen kunnen worden weergegeven in een computer in hun precieze betekenis, de anderen zijn gepresenteerd bij benadering. Een veel eenvoudigere optie - om een reëel getal in te dienen met een vast punt, waar de echte en de hele deel gescheiden worden bewaard. Hoogstwaarschijnlijk, zodat het gehele deel is altijd toegewezen X bits en een fractionele - Y bits. Maar de architectuur van processors zijn zich niet bewust van een dergelijke methode, maar omdat de voorkeur wordt gegeven aan het aantal floating point.

toevoeging

Toevoeging van floating point getallen is heel simpel. In verband met de IEEE 754 standaard enkele precisiegetal heeft een groot aantal bits, dus is het beter om naar de voorbeelden, met een beter idee om de kleinste drijvende komma getal nemen. Bijvoorbeeld, de twee nummers - X en Y.

veranderlijk mark exponent mantisse
X 0 1001 110
Y 0 0111 000

De stappen zijn als volgt:

a) De nummers moeten worden vertegenwoordigd in genormaliseerde vorm. Het is duidelijk een verborgen één. X = 1,110. 2 2 en Y = 1,000. 2 0.

b) Voortzetten van de samenstelling kan alleen gelijk de deelnemers, maar moet de waarde van Y. Het zal overeenkomen met de waarde van de genormaliseerde getallen herschrijven, maar in feite - unnormalizes.

Bereken het verschil tussen de exponenten van de graad 2-0 = 2. Vervolgens beweegt de mantisse ter compensatie van deze veranderingen, dat wil zeggen, voeg 2 aan de index van de tweede term, en derhalve ook een komma verborgen Bij twee punten naar links. 0,0100 verkregen. 2 februari. Dit zal het equivalent van de vorige waarde Y, dan is er al een Y' zijn.

c) Nu moet je het aantal mantisse X en Y. aangepast optellen

1,110 + 0,01 = 10,0

Standhouder nog steeds wordt weergegeven door de parameter X, gelijk aan 2 is.

g) De in het voorgaande stapgrootte, verschoof de normalisatie-eenheid, dan moet je de exponent som verschuiven en te herhalen. 10.0 met twee bits naar links van de decimale punt, het aantal thans worden genormaliseerd, dat wil zeggen, zet de komma naar links met een punt, en exponent respectievelijk 1 verhoogd Blijkt 1000. 2 maart.

e) Het is tijd om een floating point getal om te zetten in single-byte-systeem.

som mark exponent mantisse
X + Y 0 1010 000

conclusie

Zoals u kunt zien, voegt u deze nummers zijn niet te hard, iets dat komma drijft. Tenzij, behalve wat het aantal onderste exponent onder meer (in het bovenstaande voorbeeld was de Y-X), en het herstel van de status quo, bijvoorbeeld het probleem van de compensatie - verplaatsen de decimale punt links van de mantisse. Zodra het toevoegen is al toegepast, is het heel goed mogelijk en nog steeds een probleem - perenormirovanie en afkapping bits als het aantal niet overeenkomt met het nummer te representeren.

vermenigvuldiging

Binaire systeem biedt twee manieren waarop de floating-point getallen vermenigvuldigt. Deze taak kan worden uitgevoerd door vermenigvuldiging, die begint met het minst significante bit en dat begint met de hoge orde bits in de vermenigvuldiger. In beide gevallen bevat een aantal bewerkingen achtereenvolgens stapelen deelproduct. Deze activiteit wordt gecontroleerd door toevoeging van vermenigvuldiger bits. Dus, indien één van de bits van de vermenigvuldiger een eenheid, waarbij de som van de partiële producten van het vermenigvuldigtal groeit met een overeenkomstige verschuiving. Als een cijfer van de vermenigvuldiger sloop nul, terwijl het vermenigvuldigtal wordt niet toegevoegd.

Als vermenigvuldiging slechts twee nummers wordt uitgevoerd, kan het product van de getallen in het bedrag niet twee keer hoger zijn dan het aantal cijfers in de factoren, meer dan, en voor grote aantallen is het heel, heel veel. Indien vermenigvuldigd met een getal, dan dreigt het product niet op het scherm past. Omdat het aantal bits van elke digitale machine is zeer eindig en dwingt tot maximaal tweemaal het aantal optellers cijfers beperken. En als het aantal plaatsen is beperkt, in het product zal onvermijdelijk introduceren fouten. Indien de hoeveelheid berekeningen groot, de onjuiste overlap, en daardoor verhoogt de algehele nauwkeurigheid. Hier, de enige manier - om de vermenigvuldiging resultaten te ronden, daarna werden de fout werken afwisselend. Wanneer een vermenigvuldiging wordt het mogelijk verder te gaan dan het raster cijfers, maar alleen door de jongere, omdat er een opgelegd aan het aantal daarvan worden weergegeven in de vorm van vaste-point limit.

enige uitleg

Beter om te beginnen vanaf het begin. regelnummers als een geheel, waarbij de komma geïmpliceerd in het einde - het meest gebruikelijke manier om het aantalgemiddelde. Deze tekenreeks kan elke lengte zijn, maar een komma staat op de juiste plaats te zetten, het scheiden van het geheel getal in het fractionele deel ervan. Het formaat van de presentatie van het vaste-puntensysteem noodzakelijkerwijs legt voorwaarden op de locatie van de komma. Wetenschappelijke notatie maakt gebruik van een standaard genormaliseerde uitzicht op de representatie van getallen. Het aqn {\ displaystyle aq ^ {n }} aq n. Hier een {\ displaystyle een} a, en het is de mantisse kant genoemd. Zowat is gezegd dat een ⩽ 0 duidelijk: n {/ displaystyle n} n - een integer exponent en q {/ displaystyle q q} - ook een integer, dat de basis van de radix (schrijven vaak 10). Mantisse reactie komma na de eerste cijfer dat niet nul is, maar verdere opname toegevoegd aan de informatie over de huidige waarde van het getal.

Floating-point nummer is geschreven zeer vergelijkbaar met alle duidelijke norm boekstuknummers, alleen de exponent en mantisse zijn apart opgenomen. Laatste aan hetzelfde en in een genormaliseerd formaat - vaste punt, die is versierd met het eerste significante cijfer. Net drijvende komma wordt voornamelijk gebruikt in de computer, dat wil zeggen in de elektronische representatie van waar het systeem niet decimale en binaire, waar zelfs mantisse denormaliseren geherrangschikte point - nu is vóór het eerste cijfer, dan voorheen, niet na, wanneer het gehele deel in principe kan niet. Bijvoorbeeld, zou ons eigen decimale stelsel zijn negen binair systeem te geven voor tijdelijk gebruik. En dat zal vast te leggen en de mantisse floating-point als volgt uit: +1001000 ... 0, en het en de index 0 ... 0100. Maar het decimale systeem niet dergelijke complexe berekeningen, eventueel in binaire produceren met de vorm van drijvende komma.

lange rekenkundige

In de elektronische computers beschikken over ingebouwde software pakketten, waarbij toegewezen voor de mantisse en exponent van de hoeveelheid geheugen van specifieke software, alleen beperkt door de grootte van het geheugen van de computer. Het ziet eruit als een lange rekenen, dat wil zeggen, eenvoudige bewerkingen op de getallen die computer uitvoert. Het is al zelfde - aftrekken en optellen, aftrekken en vermenigvuldigen, elementaire functies en de aanleg van de wortel. Maar het aantal heel anders, hun capaciteit aanzienlijk groter is dan de lengte van de machine woord. De uitvoering van deze activiteiten is niet door de hardware en software, maar het wordt veel gebruikt elementaire hardware om te werken met veel kleinere aantallen orders. Er is meer en rekenen, waar de aantallen lengte alleen beperkt door geheugencapaciteit - willekeurige precisie rekenkunde. Een lange rekenkundige wordt gebruikt in vele gebieden.

1. Om de code (processors compileren microcontrollers met lage bitdiepte - 10-bit registers en acht-bits woordlengte, is niet voldoende om de informatie van de analoog-naar-digitaal (analoog-digitaalomzetter) behandelen, en kan daarom niet zonder een lange rekenkunde.

2. Het is ook een lange rekenkunde gebruikt cryptografie, waarbij het noodzakelijk is om de nauwkeurigheid van het resultaat van de machtsverheffing of vermenigvuldiging 10.309 waarborgen. Integer rekenkundige wordt gebruikt modulo m - een groot natuurlijk getal, en is niet noodzakelijkerwijs eenvoudig.

3. Software voor financiers en wiskundigen, ook, is niet zonder een lange rekenen, omdat de enige manier om de resultaten van de berekeningen op papier controleren - met de hulp van de computer, zorgen voor een hoge nauwkeurigheid van de nummers. Floating point zij onbeperkt aantal lange ontlading kan inhouden. Maar de technische berekeningen en het werk van de wetenschappers nodig interventieprogramma berekeningen heel vaak, want het is heel moeilijk om de input data te maken zonder fouten te maken. ze zijn meestal veel omvangrijker dan afronding resultaten.

Vecht met fouten

Wanneer een aantal behandelingen, waarbij de floating point, is het zeer moeilijk om de nauwkeurigheid van de resultaten te beoordelen. Nog niet uitgevonden aan alle wiskundige theorie die zou helpen om dit probleem op te lossen. Maar de fout integer te evalueren gemakkelijk. De mogelijkheid van het wegwerken van onnauwkeurigheden op het oppervlak - gewoon gebruik maken van alleen het aantal fixed-point. Bijvoorbeeld, een financieel programma gebouwd op dit principe. Er zijn echter eenvoudiger: het vereiste aantal cijfers achter de komma is vooraf bekend.

Andere toepassingen zijn niet beperkt tot, omdat je niet kunt werken met ofwel zeer kleine of zeer grote aantallen. Dus als je werkt vindt altijd rekening mee dat er onnauwkeurigheden kunnen zijn, en omdat de afleiding van de resultaten is het noodzakelijk om door. Bovendien automatische afronding vaak een gebrek aan actie en daarom afronding wordt specifiek gedefinieerd. Zeer gevaarlijk in dit opzicht is de vergelijking operatie. Er is zelfs een schatting van de hoeveelheid fouten in de toekomst is uiterst moeilijk.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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