Skip to main content

Normalisert Form Binære Alternativer


Denne siden er oversatt fra originalen ved hjelp av Google-oversetteren. IEEE 754 - Standard binær aritmetisk flyter Forfatter: Yashkardin Vladimirnbsp nbsp softelectro. ru nbsp nbsp 2009-2011 nbsp nbsp infosoftelectro. ru 1. Tittel Standard. Denne standarden er utformet forening IEEE (Institutt for elektriske og elektroniske ingeniører) og brukes til å representere ekte tall (flytpunkt) i binær kode. Den mest brukte standarden for flytpunkt, brukt av mange mikroprosessorer og logiske enheter og programvare. Den komplette tittelen til standarden i tilknytning til IEEE: IEEE Standard for binær flytende punkt-aritmetikk (ANSIIEEE Std 754-1985) Standardens tittel i den internasjonale elektrotekniske kommisjonen IEC: IEC 60559: 1989, Binær flytende punkt aritmetikk for mikroprosessorsystemer (IEC 559: 1989 - den gamle betegnelsen til standarden) I 2008 har foreningen sluppet IEEE standard IEEE 754-2008, som inkluderte standarden IEEE 754-1985. 2.Beskrivelse av standarden. Den opprinnelige utgaven av standarden: IEEE Standard for binær flytende punkt-aritmetisk nbsp nbsp nbsp nbsp nbsp nbsp Copyright 1985 av Institutt for elektriske og elektroniske ingeniører, Inc 345 øst 47th Street, New York, NY 10017, USA standard inneholder 23 sider med tekst i 7 seksjoner og ett vedlegg: 1.Scope 1.1 Implementeringsmål 1.2 Inklusjoner 1.3 Utelukkelser 2.Definisjoner 3.Formater 3.1 Sett av verdier 3.2 Grunnformater 3.3 Utvidede formater 3.4 Kombinasjoner av formater 4.Rounding () 4.1 Runde til nærmeste 4,2 rettede avrundinger 4.3 Avrundingsnøyaktighet 5.Operasjoner 5.1 Aritmetisk 5,2 Firkantrot 5.3 Flytende punktformat Konverteringer 5.4 Konvertering mellom flytende punkt og helhetsformater 5.5 Rund flytende punktnummer til helhetsverdi 5.6 Binær desimalkonvertering 5.7 Sammenligning 6.Infinitet, NaNs og Signed Zero 6.1 Infinity Arithmetic 6.2 Operasjoner med NaNs 6.3 Sign-Bit 7.Exceptions 7.1 Ugyldig Operation 7.2 Division By Zero 7.3 Overflow 7.4 Unde rflow 7.5 Inexact 8.Traps 8.1 Trap Handler 8.2 Precedence A. Anbefalte funksjoner og predikater nbsp nbsp nbsp nbspUnfortunately har IEEE utviklet seg fra en internasjonal offentlig ingeniørorganisasjon (som det var opprinnelig) en handelsorganisasjon. Denne organisasjonen eier opphavsretten til å publisere standard IEEE754-1985. Så hvis du vil lese, med den opprinnelige standarden, må du kjøpe den for rundt 80. Men russisk lov tillater meg å kommentere undervisning av denne standarden. Derfor gir den videre Ill en vilkårlig presentasjon av standard og uttrykker sin mening om det til opplæringsformål. Standard IEEE 754-1985 vil bestemme: Vær normalisert som positive og negative flytpunktsnumre. Hvordan representerer de positive og negative deormaliserte flytpunktstallene. Hvordan representerer antall null. Som en spesiell verdi som representerer uendelig (Infiniti). Hvordan representerer en spesiell verdi av No Number (NaN eller NaNs) Fire avstandsmåter IEEE 754-1985 definerer fire format for flytende punktnumre: Enkel-presisjon (enkel-presisjon) 32-biters dobbel presisjon (dobbel presisjon) 64-bit Med singel utvidet presisjon (enkel utvidet presisjon) 43 bits (sjelden brukt) Dobbelt utvidet presisjon (dobbel utvidet presisjon) 79 bits (vanligvis bruk 80 bit) 3. Grunnleggende begreper i representasjon av flytpunktsnumre. 3.1 Innlevering av normalisert eksponensiell form. Ta for eksempel desimalnummeret 155.625 Tenk nummeret i en normalisert eksponentiell form: 1,55625872910 2 1,556258729exp 10 2 Nummer 1,556258729exp 10 2 består av to deler: a mantissa M 1.55625 og eksponenten exp 10 2 Hvis mantissa er i området 1 -2. 3.2 Innlevering av en denormalisert eksponensiell form. Ta for eksempel desimalnummeret 155.625 Tenk på antall denormaliserte eksponentielle måten: 0,155625872910 3 0,1556258729exp 10 3 Antall 0,1556258729exp 10 3 består av to deler: a mantissa M 0,155625 og eksponent exp 10 3 Hvis mantissa er i området 0,1 -3. 3.3 Konvertering av desimal til binært flytende punktnummer. Vårt problem er redusert til et desimal flytende punktnummer i binært flytende punktnummer i eksponentiell normalisert form. For å gjøre dette utvider vi det oppgitte antall binære tall: 155,625 187292 7 087292 6 087292 5 187292 4 187292 3 087292 2 187292 1 187292 0 187292 -1 087292 -2 187292 -3 155 625 128 0 0 16 8 0 2 1 0.5 0 0.125 155,625 10 10011011,101 2 - antall desimalt og binært flytpunkt La det resulterende nummeret til normalisert form i desimalt og binært system: 1,556258729exp 10 2 1,00110111018729exp 2 111 Som et resultat har vi hovedkomponentene i den normaliserte eksponensialen av binære tall: Mantissa M1.0011011101 Eksponent exp 2 111 4. Beskrivelse konvertere antall IEEE 754. 4.1 Omformingen av et normalisert binærtall i 32 bitformat IEEE 754 Hovedapplikasjonen i teknologi og programmeringsformater var 32 og 64 bits. For eksempel, i VB bruker data typer single (32 bit) og double (64 bits). Vurder transformasjonen av det binære nummer 10011011.101-formatet engangsbeslutning (32 bit) IEEE Standard 754. Andre formater av tallene i IEEE 754 er en forstørret kopi av enkeltpresisjonen. For å gi nummeret i formatet enkeltpresisjon, skal IEEE 754 bringe den til binær normalisert form. I 3 har vi gjort denne konverteringen på nummer 155.625. Nå vurderer, da et normalisert binært nummer konverteres til et 32-biters format IEEE 754 Beskrivelse av transformasjonen i 32-biters format IEEE 754: Nummer kan være eller -. Spill derfor litt for å tegne tegnet på: 0-positiv 1-negativ Denne mest signifikante biten til 32 biters sekvens. Deretter går eksponentbiter, dette tildeler 1 byte (8 biter). Utstiller kan være, som nummeret, med tegnet eller -. For å bestemme tegnet på eksponenten, for ikke å introdusere enda en tegnbit, legg til forskyvningen til eksponenten i halv byte 127 (0111 1111). Det vil si at hvis vår utstilling 7 (111 i binær), så flyttet eksponenten 7 127 134. Og hvis våre utstillere var -7, oppveier vi da Booths 127-7 120. Forsinket eksponent er skrevet i de tildelte 8 bitene. Men når vi trenger å oppnå et eksponentielt binærtall, trekker vi bare 127 fra denne byte. De resterende 23 bitene settes til side for mantissen. Den normaliserte binære mantisas første bit er imidlertid alltid 1, siden tallet er i området 1 Tabellen viser desimalnummeret 155.625 i 32-biters formatet IEEE754: 001 1011 1010 0000 0000 0000 2 971 87761,99584e292 Fra ovenstående, gitt at hoveddelen av tallene i IEEE754-format har en stabil liten relativ feil: Maksimal mulig relativ feil for nummeret er Single 2 -23 100 11,920928955078125e-6 Den maksimale mulige relative feilen for antall Double 2 -52 100 2.2204460492503130808472633361816e-14 7.5 Generell informasjon for antall enkelt - og dobbelttilgjengelighet IEEE-standard 754. Tabell 3. Informasjon om formatet 3264 bit i standard ANSI IEEE Std 754-1985 lengde nummer, bit offset eksponensiell (E), biter Resten av mantittene (M), biter denormaliserte binære nummer normalisert binært antall denormalisert antall desimal F (-1) S 87292 (E -126) 8729 M2 23 F (-1) S 87292 (E-1022) 8729M2 52 normalisert antall desimaler F (-1) S 87292 (E-12 7) 8729 (1 M2 23) F (-1) S 87292 (E-1023) 8729 (1M2 52) Abs. max. feilnummer rel. max. feil denorms. nummer rel. max. feilnormer. nummer 2 -149 8776 1,401298468729e -45 2 -1074 8776 4,940656468729e -324 2 127 8729 (2-2 -23) 8776 3,402823478729e 38 2 1023 8729 (2-2 -52) 8776 1,797693138729e 308 8 . Avrundingstall i standard IEEE 754. Ved presentasjon av flytpunkt i IEEE Standard 754 har ofte avrundede tall. Standarden gir fire måter å avrunde tall på. Måter å avrunde antall IEEE 754: Avrunding tendens til nærmeste heltall. Avrunding har en tendens til null. Avrunding har en tendens til 8734 Avrunding har en tendens til å -8734 Tabell 3. Eksempler på avrunding til en desimaltall til nærmeste heltall Hvordan vises avrunding i eksemplene i Tabell 3. Når du konverterer et tall for å velge en av måtene å avrunde. Som standard er dette den første måten, avrunding til nærmeste heltall. Ofte i forskjellige enheter ved hjelp av den andre metoden - avrundet til null. Når du runder til null, må du bare kaste bort meningsløse nivånumre, så dette er den enkleste i maskinvareimplementeringen. 9. Dataproblemer forårsaket av bruk av standard IEEE754. IEEE 754-standarden er mye brukt i prosjektering og programmering. De fleste moderne mikroprosessorer er produsert med hardware-realisering av representasjoner av ekte variabler i formatet IEEE754. Programmeringsspråk og programmerer kan ikke forandre denne situasjonen, det finnes ikke et reelt nummer i mikroprosessoren. Når du lager den vanlige IEEE754-1985-representasjonen av en ekte variabel i form av 4 eller 8 byte, virker det veldig stor verdi, siden mengden RAM MS-DOS var lik 1 MB. Et program i dette systemet kan bare brukes 0,64 MB. For moderne operativsystemer er størrelsen på 8 byte null og tom, likevel er variablene i de fleste mikroprosessorer fortsatt i formatet IEEE754-1985. Vurder feilberegningen som skyldes bruk av tall i formatet IEEE754 9.1 Feil knyttet til nøyaktighet av representasjon av ekte tall i formatet IEEE754. En farlig reduksjon. Denne feilen er alltid til stede i datamaskinberegninger. Årsaken til forekomsten er beskrevet i punkt 7.4. -6 for doble 10 -14 De absolutte feilene kan være betydelige, som for singel 10 31 og for dobbelt 10 292, som kan føre til problemer med beregninger. Hvis prøven teller på papiret, er svaret 1. Absolutt feil er 7. Hvorfor får feil svar nummer 123456789 i den enkle 4CEB79A3hex (ieee) 123456792 (des) absolutt feilrapportering er 3 nummer 123456788 i enkelt 4CEB79A2hex (ieee) 123456784 (des) Absolutt feilrapportering er -4 Relativ feil i innledende tall på ca. 3,24 e-6 Som et resultat var en driftsrelatert feil i resultatet 800, det vil si økt med 2,5 e 8 ganger. Dette er det jeg kaller en farlig reduksjon. dvs. katastrofalt redusert nøyaktighet i operasjonen der absoluttverdien av resultatet er mye mindre enn noen av inngangsvariablene. Faktisk er feilfrekvensen av representasjonen av de mest uskyldige i datamaskinberegninger, og vanligvis mange programmerere, ikke noe oppmerksom. Likevel kan de være veldig frustrerende. 9.2 Feil knyttet til feilaktig tvang av datatyper. Wild feil. Disse feilene er forårsaket av det faktum at det opprinnelige nummeret som ble sendt i formatet enkelt og dobbelt i et format som ikke vanligvis er lik med hverandre. For eksempel: Det opprinnelige nummeret 123456789,123456789 Enkelt: 4CEB79A3 123456792,0 (des) Dobbel: 419D6F34547E6B75 123456789,12345679104328155517578125 Forskjellen mellom enkelt - og dobbeltbeløp: 2,87654320895671844482421875 Her er et eksempel på VB: Relativ feil i resultatet er: 8734 (uendelig) Denne feilen kalles en skitten null. Hvis variablene fører til samme type, vil denne feilen ikke skje. Derfor, variabler og mellomresultater av beregninger som skal bringes til samme datatype. For eksempel kravet om å vise samme type som er beskrevet i standard C-språket til ISO IEC 9899: 1999. Vær oppmerksom på at ikke nok bare å bringe alle de opprinnelige dataene til en enkelt type. Nødvendig å bringe resultatene fra mellomliggende operasjoner til samme type. Her er et eksempel på en feil i mellomresultatet: Her oppstår feilen fordi mellomresultatet av 1 3 i linjen c c-1 3 vil være av type dobbelt, ikke enkelt. For å kvitte seg med feilen må du gi et mellomresultat til typen enkeltoperatør ved hjelp av cast CSng. Et eksempel på å bringe datatype for GNU C, sendt av Gregory Sitkarevym: I den andre versjonen kan du se at delingen av konstantene i mellomresultatet er gitt til typen float (enkel presisjon i C). Disse alternativene ble kompilert og utført ved hjelp av GNU C. Hvis du kompilerer og utfører de ovennevnte alternativene vises på VC (Visual Studio), vil resultatene bli reversert. Det vil si, alternativ 2 ville være et resultat av -9.934108, og alternativ 1 Resultat: 0.000000. Derfor kan det være skuffende konklusjon at resultatet av beregninger kan avhenge av type og versjon av kompilatoren. I dette tilfellet kan vi anta at VC-kompilatoren automatisk gir typene variabler, og forsøket på å tvinge med samme type mislykkes. Hvis alternativ 1 (uten gjengivelse) møter variabel dobbelthetighet (dobbel), vil feilen ikke gi data og resultat 0.000000. I de fleste tilfeller for å kvitte seg med gjengede data, er det bare å bruke datatypen dobbel og glemme om typen single (float). Beregningsfeil forårsaket av ikke å bringe typen data jeg kaller villfeilene som de relaterer til uvitenhetene til standardene og teorien om programmering (dvs. med dårlig grunnleggende opplæring) 9.3 Feil forårsaket av skiftet av mantissen. Sirkulære hull. Disse feilene er knyttet til tap av nøyaktighet av resultatet i ufullstendige Mantissas kryssnummer på den reelle akse. Hvis mantittallene ikke skjærer på den reelle akse, er tillegg og subtraksjon mellom disse tallene umulig. For eksempel tar vi antall Enkelt: 47FFFFFF 131071,9921875 (des) I det binære systemet ser dette nummer ut: 11111111111111111,1111111 Vi viser noen datoperasjoner for tillegg, og dette nummeret er i formatet Enkeltbetegnende siffer i mantissa av det binære tallet i formatet Single ikke mer enn 24 Rødt indikerer figurene utover denne grensen og er ikke involvert i formatet Single 1. tillegg med samme nummer (feilskiftet 0.0). 2. tillegg til antall mindre to ganger (feilskift - 0.00390625). 3. tillegg med et mindre antall 2 23 ganger (feilskift - 0,007812). 4. tillegg med et mindre antall 2 24 ganger (feilskift - 0,007812). I sistnevnte tilfelle er mantitten av tall skilt, og aritmetiske operasjoner med disse tallene er meningsløse. Som det fremgår av eksemplene ovenfor skjer skiftfeil dersom de innledende normaliserte tallene er forskjellige eksponenter. Hvis tallene varierer med mer enn 2 23 (for singel) og 2 52 (for dobbelt), er det ikke mulig å legge til og subtrahere mellom disse tallene. Maksimal relativ feilresultat av operasjonen er ca. 5,96 e-6, som ikke overskrider en relativ feil i representasjon av nummeret (s.9.1). Selv om den relative feilen her er ok, er det andre problemer. Først, arbeid med tall bare i et smalt område av den reelle akse, hvor mantissa krysser. For det andre, for hver kilde av grensen til en løkke kalt syklisk hull. La meg forklare, om det er en syklus der det opprinnelige tallet legges til summen, er det en numerisk grense for beløpet for dette nummeret. Det vil si at beløpet som kommer til en viss størrelse, ikke lenger øker ved å legge den til det opprinnelige nummeret. Her er et eksempel på et syklisk hull i det automatiske kontrollsystemet: Det er en farmasøytisk planteproduksjonstabletter som veier 10 mg. Består av: forming maskin, oppbevaringstank på 500 kg, pakkemaskiner, automatisk styringssystem. Støping maskin strømmer inn i bunkeren på 10 tabletter om gangen. Fyllingsmaskinen tar en pille. Det automatiske kontrollsystemet tar hensyn til tablettene som er mottatt i støpemaskinens hopper og tatt ut av bunkeremballasjene. Det vil si at det er et program som viser fyllingstankproduksjonen i kg. Når i bunkeren er over 500 kg, er produktstøtemaskinen på pause, det inkluderer koden i bunken vil være 200 kg produkt. Fylling maskin for å stoppe hvis bunkeren er mindre enn 10 pounds og vil starte når bunkeren vil være over 100 kg produkt. Begge bilene kan stoppe fra tid til tjeneste, ikke avhengig av hverandre (takket være bunkeren). Her er et eksempel på et syklisk hull i det automatiske kontrollsystemet: Det er en farmasøytisk planteproduksjonstabletter som veier 10 mg. Består av: forming maskin, oppbevaringstank på 500 kg, emballasje maskiner, som du vet, det fungerer i en endeløs løkke. Anta at en dags fyllemaskin stod for lang og en bunker fylt med opptil 300 kg. Hva skjer etter at jeg har slått på det Et forenklet eksempel på programstyring: I dette eksemplet hentet fyllemaskinen fra hopperen 100 kg produkt, og vekten av produkter i hopperen har ikke endret seg. Hvorfor ikke endre fordi mantissa tallene 300 og 0.00001 disjoint format enkelt. Deretter legg vekten av støpemaskinen til 500 kg og stopp. Fyllingsmaskinen tar alle tabletter fra hopperen og stopper også. Programmet viser vekten på 500 kg i bunkeren. Kom kjører spesialister, test sensorer, ledninger, datamaskin, og si at programmet hang. Men programmet henger ikke, det fortsetter å løpe jevnt og hver sjekk vil bekrefte dette. Bare antall 0.0001 treffer i det sykliske hullet og kommer ut av det, kan det ikke. Som et resultat var vi heldige at det var en farmasøytisk plante, ikke Sayan-Shushenskaya GES. Faktisk ville en erfaren programmør aldri gjøre en syklisk subtraksjon (eller summering) på denne måten. Dette eksemplet er fiktivt formål, og det kan derfor ikke vurderes, selv om matematikk er helt feilfritt. Denne feilen er typisk for matematikere og nybegynnere. Jeg vil si at programmørens hovedarbeid er å kjempe med feil, men ikke i den matematiske løsningen på problemet. Her er et eksempel på en riktig løsning på dette problemet, takket være Sitkarevym Gregory: Det foregående eksemplet er hentet fra ekte industripakke. For klarhet forenkler vi eksemplet ovenfor. Som det kan ses fra dette eksemplet, må programmøren beregne feilen i resultatet i hver syklus, for å regne for det i neste syklus. Vær oppmerksom på at programmereren skal være helt klar til å gjøre noen grunnleggende begreper i matematikk ikke tilfredsstillende i beregningene i et format IEEE754. For eksempel utføres ikke reglene for algebraisk kommutativitet (a b) a (a c) b vanligvis i disse beregningene. Dessverre, i dagens grunnleggende opplæring som får svært lite oppmerksomhet. 9.4 Feil på grunn av avrunding. Skitten null. Når datamaskinen beregninger kan skille to typer avrunding: 1. Resultatet av aritmetisk drift er alltid avrundet. 2. Utgang og inngang av et reelt tall i boksen Windows er avrundet. I det første tilfellet er variabelen avrundet til en av 4 typer avrunding IEEE754, standardrundingen skjer til nærmeste heltall. I dette tilfellet mottar variabelen en ny avrundet verdi. I p.9.2 vurderte vi tillegg av to identiske tall: 1. Tillegg med samme nummer (feilskiftet 0.0). Her er resultatet av tillegg av to tall absolutt nøyaktig, men resultatet ble avrundet av en mikroprosessor. Således til det nøyaktige resultatet har blitt lagt til avrundingsfeil. Generelt er avrundingsfeilen innenfor nøyaktigheten av tallene. I andre tilfelle endrer variabelen ikke sin betydning, bare i Windows-vinduet vises den avrundede verdien av de reelle tallene. Det viser seg at den opprinnelige variabelen og viser den i Windows er et annet tall. Dette er ikke feilen i formatet IEEE754, dette er en feil Windows. Enkel variabel vises i Windows 7 signifikante tallene avrundet til nærmeste hele nummer. 3DFCD6EA 0,12345679104328155517578125 boksen vises som 0,1234568 For variabler av typen Dobbel til en Windows-boks vises 15 signifikante siffer avrundet til nærmeste hele tall. 3FBF9ADD3746F67D 0,12345678901234609370352046653351862914860248565673828125 vises som ,123456789012346 Spørsmålet om hvor viktig variabel når vi går inn i vinduet Windows 0,123456789012346 Denne verdien vil være lik dette nummeret: 3FBF9ADD3746F676 0,1234567890123459965590058118323213420808315277099609375 Det vil si at verdien av 3FBF9ADD3746F67D vi vanligvis ikke kan sette direkte inn programkoden. Men vi kan jukse og lime inn i x 0.123456789012346 1 E-16. Den resulterende variabelen vil være lik 3FBF9ADD3746F67D (dette brukes i eksempelet på skitten null). Display eller til en PC gjennom vinduet er et tall umulig. Som et resultat av handling oppstår Windows en rekke ubehagelige situasjoner. 1. Du har ikke teknisk evne til å vise eller angi de nøyaktige verdiene. av variablene i vinduene, som i seg selv er veldig trist. 2. Fremveksten av alvorlige feil, som for eksempel skitten null. skitten null er når du eller programmet forutsetter at variabelen ikke er lik null. null Ofte oppstår denne feilen i grensesnittet til maskinoperatøren. For eksempel, etter å ha tilbakestilt vekten av pakkeprogrammer. Resultatet av programmet i eksempelet ovenfor Som et resultat er en variabel som operatøren vurderer null-null, ikke lik. Relativ feil i resultatet er uendelig. I de logiske sammenligningsoperasjonene som ikke er null, kan det viderekobles programkjøring til en annen gren av algoritmen. 9.5 Feilfrekvens ved normadenorma tallene. Antall drapsmenn. Disse feilene oppstår når du arbeider med tall som ligger på grensen til den normaliserte denormaliserte tallrepresentasjonen. De er knyttet til forskjeller i representasjon av tall i IEEE754-format og overfører forskjellformler i ekte tall i IEEE754-format. Det vil si at enheten (eller programvaren) skal bruke forskjellige algoritmer avhengig av posisjonen til et ekte nummer på et nummerlinjeprogram. I tillegg fører det til en komplikasjon av enheter og algoritmer, det er fortsatt usikkerhet om overgangssonen. Usikkerheten til overgangssonen er at standarden ikke definerer en bestemt verdi av overgangsgrenen. I hovedsak er overgangen grensen mellom to reelle tall: De siste denormalized nummer 000FFFFFFFFFFFFF: Nøyaktig desimal verdien av dette nummeret: 2,2250738585072008890245868760858598876504231122409594654935248025624400092282356951787758888037591552642309780950 4343120858773871583572918219930202943792242235598198275012420417889695713117910822610439719796040004548973919380791 9893608152561311337614984204327175103362739154978273159414382813627511383860409424946494228631669542910508020181592 6642134996606517803095075913058719846423906068637102005108723282784678843631944515866135041223479014792369585208321 5976210663754016137365830441936037147783553066828345356340050740730401356029680463759185831631242245215992625464943 0083685186171942241764645513713542013221703137049658321015465406803539741790602258950302350193751977303094576317321 0852507299305089761582519159720757232455434770912461317493580281734466552734375e-308 og de første normalisert nummer 0010000000000000: Nøyaktig desimaltall va lue av dette nummeret: 2,2250738585072013830902327173324040642192159804623318305533274168872044348139181958542831590125110205640673397310 3581100515243416155346010885601238537771882113077799353200233047961014744258363607192156504694250373420837525080665 0616658158948720491179968591639648500635908770118304874799780887753749949451580451605050915399856582470818645113537 9358049921159810857660519924333521143523901487956996095912888916029926415110634663133936634775865130293717620473256 3178148566435087212282863764204484681140761391147706280168985324411002416144742161856716615054015428508471675290190 3161322778896729707373123334086988983175067838846926092773977972858659654941091369095406136467568702398678315290680 984617210924625396728515625e-308 Siden grensen er et reelt tall, kan dens presisjon stilles til uendelig og digital enhet eller et program kan ikke ha litt for en beslutning om å inkludere noen spekter av Antall. For eksempel, en feil 53632 for PHP, noe som førte til panikk tidlig i 2011. Det var en hang på prosessen med nesten 100 last CPU. Andre tall fra dette spekteret av problemer ikke forårsaket (2.2250738585072009e-308, 2.2250738585072010e-308, 2.2250738585072012e-308) Rapporter en feil mottatt 30.12.2010, 10.01.2011 fastsatt av utvikleren. Siden PHP er en preprosessor, brukes av de fleste servere, og alle brukernettverk innen 10 dager var i stand til å lukke noen vert. Hvordan skrive utviklerne at feilen bare virker i 32-biters systemer, men hvis du øker nøyaktigheten av grensen, så tror jeg at 64-bitene også henger (ikke bekreftet). Årsaken til panikk er klar: enhver bruker, på et visst nivå av flid og kunnskap, hadde muligheten til å kutte ned de fleste informasjonsressursene på planeten innen ti dager. Jeg vil ikke like - ville resultere i flere eksempler på slike tall og slike feil. 10 Den endelige delen Fra det ovenstående er det klart at visningen om at flytpunktresultatet ikke overskrider den relative feilen ved å rapportere det største tallet er feil. Feil oppført i punkt 9 blir lagt til sammen. Slike feil som skitten og farlig null reduksjon kan gjøre beregningsfeil uakseptabelt. Spesiell oppmerksomhet i programmeringen av datamaskinberegninger bør programmereren betales til resultatene nær null. Noen eksperter mener at formatet av tall representerer en trussel mot menneskeheten. Du kan lese om det i artikkelen IEEE754-krysning truer menneskeheten Selv om mange av fakta i denne artikkelen er overdramatisert, og muligens feilfortolket, men problemet er å beregne riktig reflektert filosofisk. Jeg er ikke en dramatisering av beregningene på standard IEEE754. Standard drift siden 1985 og fullført i standard IEEE754-2008, som utvidet nøyaktigheten av beregningene. Problemet med pålitelighetsberegning i dag er imidlertid svært presserende, og standard IEEE754-2008 og ISO-anbefalinger har ikke løst dette problemet. Jeg tror på dette området trengte en nyskapende ide om at utviklere Standard IEEE754-2008 dessverre ikke har. Innovative ideer kommer vanligvis fra. De viktigste nyskapende ideene i vår verden ble laget av amatører (likesinnede mennesker ikke for pengene). Et slående eksempel på denne situasjonen var oppfinnelsen av telefonen. Da en skolelærer Alexander Graham Bell (Alexander Graham Bell) kom med et patent for en oppfinnelse av telefonen til presidenten for teleselskapet Western Union Company, som eies av den transatlantiske kabelforbindelsen med et tilbud om å kjøpe sitt patent for Oppfinnelsen av telefonen, han ble ikke utvist - nei. Presidenten til dette selskapet tilbød å vurdere dette spørsmålet råd fra eksperter innen telegrafi, bestående av spesialister og lærde innen telekommunikasjon. Eksperter ga sin mening at denne oppfinnelsen er ubrukelig innen telekommunikasjon, og det er ubrukelig. Noen eksperter har selv skrevet en rapport om at det tsirkachestvo og charlatanism nbsp Alexander Graham Bell, sammen med sin svigerfar, bestemte seg uavhengig for å fremme sin oppfinnelse. Etter ca 10 år var telekommunikasjonsgiganten Western Union Co. praktisk talt eliminert telefonvirksomhet fra telekommunikasjonsteknologi. I dag ser du i mange russiske byer vinduer som sier Western Union, dette selskapet som er engasjert i å overføre penger rundt om i verden, og en gang var hun den internasjonale telekommunikasjonsgiganten. Vi kan konkludere: meninger fra eksperter på nyskapende teknologier er ubrukelige. Hvis du tror at siden telefonens oppfinnelse (1877) i folks tanker om at noe har forandret seg, er du feil. Hvis forskere (som oppfinner nye) og fagfolk (som vet hvordan man bruker den kjente) ikke kan løse problemet, trenger du innovasjon. Lenker til nye ideer innen representasjon av ekte tall i maskinvare: 1. Approksimetika 2. Hvis du kjenner til andre innovative ideer innen representasjoner av reelle tall, vil vi gjerne få koblinger til disse kildene. Jeg vil foreslå å representere ekte tall som fast punkt. For å se hele spekteret av tall Dobbel nok til å ha en variabel som består av 1075 bits heltalldel og 1075 bit av brøkdel, dvs. om lag 270 byte per variabel. I dette tilfellet vil alle tall bli presentert med samme absolutte nøyaktighet. Du kan arbeide med tall i hele spekteret den reelle akse, det vil si det blir mulig å oppsummere stort antall små tall. Trinn tall på den reelle akse er ensartet, det vil si den reelle akse er lineær. Datatypen vil bare være en, dvs. trenger ikke hele, ekte og andre typer. Her er problemet realiseringen av registre av mikroprosessorer dimensjon på 270 byte, men det er ikke et problem for moderne teknologi. Å skrive s. 9 Jeg måtte lage et program som representerer et tall som en variabel til et fast punkt, lenge 1075.1075 bytes. Hvor tallet kan representeres som en streng med tegn ASCII, dvs. ett symbol er lik en siffer. Bare måtte skrive alle de aritmetiske operasjonene med strenger ASCII. Dette programmet ligner en papirberegning. Siden matematisk evne mikroprosessor i den ikke brukes, sa hun sakte. Hvorfor jeg gjorde det, kunne jeg ikke finne et program som kunne representere nøyaktig antall IEEE754-format, i desimalform. Jeg fant også ikke programmet (selv om de sikkert har det uten tvil) hvor du kan skrive inn i boks 1075 med signifikante desimaltall. Her for eksempel bare desimal verdien av antall doble 7FEFFFFFFFFFFFFF: 17976931348623157081452742373170435679807056752584499659891747680315726078002853876058955 863276687817154045895351438246423432132688946418276846754670353751698604991057655128207624 549009038932894407586850845513394230458323690322294816580855933212334827479782620414472316 8738177180919299881250404026184124858368,0 Du kan bruke IEEE754 v.1.0 nbsp å studere og vurdere feilene når du arbeider med reelle tall gitt i formatet IEEE754. Referanser: 1. IEEE Standard for binær flytende punkt-aritmetikk. Copyright 1985 av Institutt for elektriske og elektroniske ingeniører, Inc 345 øst 47th Street, New York, NY 10017, USA. Bekreftelser: Sitkarevu Grigory (sitkarevkomitex. ru, sinclair80gmail). For hjelp til å lage en artikkel. Arkiv av anmeldelser med kommentarer nbsp Vis nbspnbsp (Send oss ​​tilbakemelding på e-posten: infosoftelectro. ru) Slik representerer du 0.148 2 i normalisert flytpunkts aritmetikk med formatet (0.148) (0.00100101111.) 2 Vi skifter det 3 bits til venstre for å gjøre det normalisert (1.00101111) 2 2. Eksponent 1164 (75) (1001011) 2 og Mantissa (01001111) 2. Så flytende poengrepresentasjon er (0100101100101111) 2 (4B2F) Representasjon A Men hvis vi lagrer denormaliserte mantissa i 8 bit register, vil det ikke ha lagret de siste tre 1s og da vil mantissa normalisere fra (0.00100101) 2 til (1.00101000 ) 2 ved å sette 3 0s i stedet for 1s. Representasjonen ville ha vært (0100101100101000) 2 (4B28) Representasjon B Så mens normaliseringen tar prosessoren hensyn til de denormaliserte mantissebittene utover 8 biter også Eller bare runder den av Hvilken er riktig: A eller B Lagrer den mantissaen i fastpunktsrepresentasjon Hvordan fungerer det alle? Binære konverteringsnotater Disse notatene inneholder mer informasjon enn det som trengs for MGF 1107. MGF 1107-studenter kan ignorere alt om binære fraksjoner, den binære versjonen av vitenskapelig notasjon og heksadesimale tall når du leser det som følger. Vi bruker bare binære heltall i MGF 1107. Binær til Decimal Konvertering Dette gjøres ved å bruke definisjonen av stedverdiene for et binært tall, evaluere hver i basis ti. For eksempel konverterer vi 1001 to fra binær til desimal som følger: som er 9 ti. De fleste finner dette for å være det enkleste av de to konverteringene. Fraksjoner håndteres med negative eksponenter for hver fraksjonalitetsverdien, akkurat som med desimaltall, slik at vi konverterer 0,11 to fra binær til desimal ved å gjenkjenne det som gir 0,75 ti. MGF 1107-lekser inneholder ikke eksempler med binære fraksjoner. Desimal til binær konvertering Heltalldelen er oppnådd (arbeider fra høyre til venstre) ved gjentatt deling med to (som skifter binærpunktet til venstre), holder resten som neste binære tall og bruker heltallskvoten for neste trinn . Vi stopper når kvoten er null. (Den enkleste måten å få heltalldelen er å bruke Hex-konverteringsfunksjonen til en kalkulator og konvertere hexadecimal til binær, men vi bruker ikke kalkulatorer i denne enheten.) Den delte delen er oppnådd (nå fungerer fra venstre til høyre) av gjentatt multiplikasjon med to (som skifter binærpunktet til høyre), holder heltalldelen som det neste binære sifferet og bruker brøkdel for neste trinn. Det er ingen enkle snarveier for brøkdelen, men se etter gjentatte mønstre. Vi kan skrive resultatet som et normalisert flytende punkt binært tall med konvensjonen som mantissen (significand) er mellom 1 og 2 - det vil si at mantissaen er i form 1.ffffff. 1. Konverter 11 ti til binær: Heltalet er konvertert av og er 1011 to. (Dette er 1.011 x 2 3 som et normalisert flytende punktnummer.) 2. Konverter 5.75 ti til binær: Heltalldelen er funnet av og er 101 to. Den delte delen er funnet av så tallet er 101.11 to. (Dette er 1.0111 x 2 2 som et normalisert flytende punktnummer.) 3. Konverter 0,1 ti til binær: Den delte delen er funnet av så tallet er 0.0001100110011. to (Dette er 1.10011001.x2-4 som et normalisert flytpunktsnummer.) Hexadecimale tall Decimal - Hexadecimal - Binærbordet Vei tilbake på 1950-tallet ble ILLIAC bygget ved University of Illinois (Urbana-Champaign) ved hjelp av sexadecimal nummer system. Imidlertid regnet de. 8, 9, K, S, N, J, F, L i stedet for å bruke. 8, 9, A, B, C, D, E, F som vi gjør i dag. De valgte de bokstavene (som ble husket ved hjelp av Mnemonic K ing S ized N umbers J ust F eller Lughes) fordi de viste seg de mest praktiske når de konverterte en teletype som ble brukt til å slå papirbåndet brukt til IO. (Denne informasjonen fra J. Sutherland Frame, professor emeritus av matematikk ved Michigan State University, en tidlig programmerer av 1957 klonen av ILLIAC kjent som MISTIC. Begge er i ORDVAC familien av datamaskiner.) (En side: Fans av 2001: En Space Odyssey vil huske at HAL-9000-datamaskinen ble bygget i Champaign-Urbana. Dette gjenspeiler den historiske rollen Univ. Of Illinois hadde i tidlig utvikling av datamaskiner med bygging av ILLIAC. I tillegg, selv om alle vet at HAL er rot25 av IBM, serienummeret reflekterer sekvensen som brukes av Control Data, hvis 6000 seriemaskiner var superdatamaskinen på midten av 60-tallet da 2001 ble laget. Cray-1 ville vært en 8000-seriens maskin, men CDC valgte Star-designen som førte til Cyber-205 og Cray dannet sitt eget firma. Kubrick gisset om rett i å plassere en 9000-serie maskin som kunne snakke tidlig på 90-tallet - HAL ble født 11292 - men noen glemte musen.) Dette materialet er 169 Copyright 2000, av james carr.

Comments

Popular posts from this blog

No Tap Binær Opsjonsstrategi

Ingen tap Binær alternativer For handel binær alternativ er ekstremt god lokal liten og lærte å gjøre det hjemmefra. En handelsmann med markedene er involvert i forex trading strategier: strammere i løpet av det bør du vurdere dine utgifter hver måned. Du kan ende opp med å gjøre raske beslutningspenger penger på Forex markedet er en av de enkleste og lignende typen metode hvor futures og aksjer. I en binær plan hadde under 5k på kjøperen et stadig mer populært selskap kollektivt. Den neste delen av næringene for å vokse så kunne det nummeret. Ingen marginer Leveraging og dets bevegelser på diagrammer grafer av utvalgstrender og hvordan du lettere kan bygge opp en lang kjede av vår. Det vil få en til å finne dette veldig fremtredende (i noen tilfeller er det å være differensiering av to strategier for å få lønnsomt ende opp til så mye som Panda Man of Key raid vellykket i papiret som aldri er en kjedelig oppgave. Siden de fleste tilrådelig å sende inn investeringsprognosen din med 10 p...

Pnb Forex Sg

Worlds Trusted Valuta Authority North American Edition Dollaren og yenen fikk i motsetning til de fleste andre valutaer, mens euroen tok en ban på de siste politiske bevegelsene i Frankrike, da den første runden av presidentvalget den 23. april trekkes nærmere. EUR-USD dyttet tilbake under 1.0600 etter. Les mer X25B6 2017-03-06 12:30 UTC Europeisk utgave Dollaren har løst seg sammen med andre markeder som utgivelsen av februar-lønnsrapporten i februar på fredag, og Feds-politikkbeslutningen neste onsdag forventes. USD-JPY er i øvre 113s etter å ha logget en fire-sesong lav i går på. Les mer X25B6 2017-03-07 08:10 UTC Asian Edition FX-handel var stille i N. Y. på mandag, med store dollar-parringer som stod inne i relativt smal handel varierte. Greenbacken var stort sett høyere, men sannsynligvis på baksiden av nesten bakt i kakeutsikter for en Fed-renteøkning neste uke. Les mer X25B6 2017-03-06 19:20 UTCSingapera Padala Raffle Promo Remit på PNB Singapore fra 1. oktober 2016 til 14. feb...

Time Serien Moving Average Metoden Pdf

Utfør en tidsserieanalyse ved hjelp av den lineære glidende gjennomsnittsmetoden Du kan bruke denne metoden med en tidsserie som viser en trend og bevegelige gjennomsnittlige ordninger som involverer mer enn to bevegelige gjennomsnitt. Først beregne og lagre det bevegelige gjennomsnittet for den opprinnelige serien. Beregn deretter og lagre det bevegelige gjennomsnittet for den tidligere lagrede kolonnen for å oppnå et andre bevegelige gjennomsnitt. For å beregne og lagre det bevegelige gjennomsnittet, velg Stat gt Time Series gt Moving Average. fullfør dialogboksen, velg Lagring. og velg Flytte gjennomsnitt. Opphavsrett 2016 Minitab Inc. Alle rettigheter reservert. Ved å bruke dette nettstedet godtar du bruk av informasjonskapsler for analyse og tilpasset innhold. Les vår policySlideshare bruker informasjonskapsler for å forbedre funksjonalitet og ytelse, og for å gi deg relevant annonsering. Hvis du fortsetter å surfe på nettstedet, godtar du bruken av informasjonskapsler på denne ne...