Formavimas, Koledžai ir universitetai
Kas yra slankiojo kablelio skaičius?
Tikrojo (arba tikro) skaičiaus, kur jie saugomi kaip mantissa ir eksponentas, pateikimo forma yra slankiojo kablelio skaičiai (galbūt taškas, kaip įprasta angliškai kalbančiose šalyse). Nepaisant to, skaičiumi pateikiamas fiksuotas santykinis tikslumas ir nevienodas absoliutas. Dažniausiai naudojamas vaizdavimas yra patvirtintas standarto IEEE 754. Matematinės operacijos, kuriose naudojami slankiojo kablelio skaičiai, diegiamos kompiuterinėse sistemose - tiek aparatinėje, tiek programinėje įrangoje.
Taškas arba kablelis
Išsamioje dešimtainių skirtukų sąraše nurodomos angliškai kalbančios ir angliškai kalbančios šalys, kur, skaičiaus įrašuose, dalinė dalis yra atskirta nuo visos dalies taškais, taigi šių šalių terminologija vadinama slankais taškas - "plūduriuojantis taškas". Rusijos Federacijoje dalis trupmena tradiciškai yra atskirta kableliu, todėl terminas "istorija", kuriame istoriškai pripažįstamas terminas "slankiojo kablelio skaičiai", reiškia šią sąvoką. Nepaisant to, šiandien tiek techninės dokumentacijos, tiek rusų kalbos literatūroje šie variantai yra gana priimtini.
Sąvoka "plūduriuojančių taškų skaičiai" gaunama iš to, kad skaičiaus pozicinis pateikimas reiškia kablelį (įprastą dešimtainį ar dvejetainį kompiuterį), kuris gali tilpti bet kurioje eilutės numerių eilutėje. Ši funkcija turi būti aptariama atskirai. Tai reiškia, kad slankiojo kablelio skaičių atstovavimą galima laikyti eksponentinio numerio įrašo kompiuteriu. Tokio atstovavimo naudojant formos pateikimą su fiksuota kableliu ir sveikais skaičiais pranašumas yra tai, kad verčių diapazonas iš esmės auga, o santykinis tikslumas išlieka nepakitęs.
Pavyzdys:
Jei kablelis numeriu yra fiksuotas, tuomet jį galite įrašyti tik vienu formatu. Pavyzdžiui, pateikiama šešių bitų sveikojo skaičiaus ir dviejų bitų dalinė dalis. Tai galima atlikti tik tokiu būdu: 123456,78. Slankiojo kablelio skaičių formatas suteikia visas galimybes išreikšti. Pavyzdžiui, pateikiami tie patys aštuoni bitai. Įrašymo variantai gali būti tokie, kai programuotojas nereikalauja dvigubo skaitmens papildomo lauko, kur jis užsirašys eksponentus, kurie paprastai yra 10, nuo 0 iki 16, o bendras skaičius yra dešimt: 8 + 2.
Kai kurios parašymo galimybės, leidžiančios naudoti slankiojo kablelio skaičių formatą: 12345678000000000000; 0.0000012345678; 12345678; 1,2345678 ir tt Šiame formate yra net greičio matavimo vienetas! Greičiau kompiuterio sistemos greitis, nustatantis greitį, kuriuo kompiuteris atlieka operacijas, kur yra skaičių su slankiuoju tašku vaizdavimas. Tai matuojama FLOPS (kintama taškų operacija per sekundę, kuri skaičiuojama kaip operacijų skaičius per sekundę su slankais taškų skaičiais). Šis prietaisas yra pagrindinis kompiuterio sistemos greitis.
Struktūra
Norint parašyti numerį kintamojo taško formatu, jums reikia tokiu būdu stebėti reikiamų dalių seką, nes šis įrašas yra eksponentinis, kur tikri skaičiai yra pavaizduoti kaip mantissa ir tvarka. Tai reikalinga per dideliam ir pernelyg mažam skaičiui atstovauti, daug lengviau juos skaityti. Privalomos dalys: užregistruotas skaičius (N), mantissa (M), užsakymo ženklas (p) ir užsakymas (n). Paskutiniai du simboliai sudaro numerio charakteristiką. Taigi, N = M. N p . Taigi skaičiai yra parašyti su kintama kableliu. Pavyzdžiai bus įvairūs.
1. Būtina užrašyti vieno milijono skaičių, kad nesupainuotų nuliais. 1000000 yra įprastas įrašas, aritmetinis. Kompiuteris atrodo taip: 1.0 . 10 6 . Tai yra dešimtį šeštąjį laipsnį - trys simboliai, kurie tinka net šešiems nuliui. Taigi, atsiranda fiksuoto taško ir plūduriuojančių taškų skaičių, kur galite iš karto aptikti rašybos skirtumų.
2. Taip pat galima paprasčiausiai nurašyti tokį sunkų skaičių kaip 1435000000 (vienas milijardas keturis šimtus trisdešimt penkis tūkstančius): 1435 . 10 9 , tik. Panašiai galite įrašyti bet kurį skaičių su minuso ženklu. Tai yra ta, kur fiksuoto taško ir plūduriuojančių taškų skaičiai skiriasi vienas nuo kito.
Bet šie yra dideli skaičiai, kaip elgtis su mažais? Taip, per lengva.
3. Pavyzdžiui, kaip nurodyti milijoną? 0.000001 = 1.0 . 10 -6 . Labai palengvinti numerio rašymą ir jo skaitymą.
4. Ir sunkiau? Penkis šimtai keturiasdešimt šeši milijardai: 0.000000546 = 546 . 10 -9 . Čia. " Skaičiavimų skaičius su slankiojo kablelio skaičiais yra labai platus.
Forma
Numerio forma gali būti normali arba normalizuota. Normalus - visada laikosi slankiojo kablelio skaičių tikslumo. Reikėtų pažymėti, kad šioje formoje mantissa, neatsižvelgiant į ženklą, yra pusiaukelėje per intervalą: 0 1, taigi ir 0 ≤ a <1. Šis skaitmuo nepraranda tikslumo įprastai. Normalios numerio formos trūkumas yra tas, kad daugybę skaičių galima rašyti skirtingais būdais, tai yra dviprasmybė. Kito to paties skaičiaus įrašo pavyzdys: 0.0001 = 0, 000001 . 10 2 = 0.00001 . 10 1 = 0,0001 . 10 0 = 0,001 . 10 -1 = 0,01 . 10 -2 , taigi jūs vis dar galite daug. Todėl kompiuterių moksle naudojama kita normalizuota įrašų forma, kur dešimtainių skaičių mantissa vertė nuo vienos (imtinai) ir tokiu būdu iki dešimties (neįskaičiuojamos), taip pat dvinarių skaičių mantisa vertė yra nuo vienos (imtinai) iki dviejų (ne Inclusive).
Taigi, 1 ≤ a <10. Tai yra dvejetainiai slankiojo kablelio skaičiai, ir ši rašymo forma fiksuoja bet kurį skaičių (išskyrus nulį) unikaliai. Tačiau yra ir trūkumų - negalima tokioje formoje būti nuliui. Todėl kompiuterių mokslas numato 0 naudoti specialią charakteristiką (bitą). Dvipusis skaitmuo (didžiausias skaitmuo) sveiko skaičiaus (didžiausio skaičiaus), išskyrus normalios formos nulį, yra 1 (numanomas vienetas). Toks įrašas naudojamas IEEE 754 standarto. Numeravimo sistemos, kuriose bazė yra didesnė nei dvi (tris, ketvirčius ir kitas sistemas), ši nuosavybė nebuvo įsigyta.
Nekilnojamasis skaičius
Paprastai vienintelis būdas yra plaukiojančio taško plūduriuojančių taškų skaičiai, nes tai nėra vienintelis, bet labai patogus būdas reikiamam skaičiui atstovauti, nes yra kompromisas tarp verčių ir tikslumo. Tai yra eksponentinio įrašo analogas, tiesiog vykdomas kompiuteryje. Plūduriuojančio taškų skaičius yra atskirų bitų rinkinys, atskirtas žymuo, tvarka (eksponentas) ir mantis (mantis). Dažniausiai naudojamas IEEE 754 formatas yra slankiojo kablelio skaičius kaip bitų rinkinys, kuris koduoja vieną mantissa dalį, o kita dalis yra galia, o vienintelis ženklas nurodo skaičiaus ženklą: nulis yra, jei jis yra teigiamas, vienetas, jei numeris yra neigiamas. Visa tvarka yra parašyta kaip sveikasis skaičius (kodas su pamainomis), o mantissa yra normalizuota, jo dalinė dalis yra dvejetainėje sistemoje.
Kiekvienas simbolis yra vienas bitas, kuris nurodo žymenį visiškai slankiojo kablelio skaičiui. Mantissa ir tvarka yra sveikieji skaičiai, jie yra sujungti su ženklu ir pateikti skaičių su slankaus tašku. Užsakymą galima vadinti eksponentu ar eksponentu. Kompiuteryje gali būti pateikiami ne visi tikri numeriai, kurių tikslia prasme, o likusieji yra apytiksliai. Labiau paprastas variantas - pateikti realų skaičių su fiksuotu tašku, kur tikroji ir visa dalis yra saugomos atskirai. Labiausiai tikėtina, kad visą dalį visada priskiriami X bitai, o trupmeniniai - Y bitai. Tačiau procesoriaus architektūros nežino šio metodo, todėl pirmenybė teikiama slankiojo kablelio skaičiui.
Papildymas
Pridėjimas plūduriuojančių taškų numerių yra gana paprastas. Ryšium su IEEE 754 standartu, vienintelis skaitmens tikslumas turi daugybę bitų, todėl geriau eiti tiesiai į pavyzdžius, o geriau pasiimti mažiausią slankiojo kablelio skaičiaus vaizdą. Pavyzdžiui, du skaičiai - X ir Y.
| Kintamasis | Pasirašyti | Eksponentas | Mantissa |
| X | 0 | 1001 | 110 |
| Y | 0 | 0111 | 000 |
Veiksmai yra šie:
A) Numeriai turi būti pateikiami normalizuotoje formoje. Akivaizdu, kad pasirodo paslėptas vienetas. X = 1,110 . 2 2 ir Y = 1000 . 2 0 .
B) Papildymo procesas gali būti tęsiamas tik lyginant eksponentus, ir tam reikia perrašyti Y reikšmę. Ji atitiks normalizuoto skaičiaus vertę, nors iš tikrųjų ji bus denormalizuota.
Apskaičiuokite 2 laipsnio rodiklių skirtumą - 0 = 2. Dabar perkelkite mantisą, kad kompensuotumėte šiuos pokyčius, ty pridėkite 2 prie antrosios sumenkamosios dalies rodiklio, tokiu būdu perkelkite paslėpto bloko kablelį į du taškus į kairę. Tai suteikia 0,0100 . 2 2 . Tai bus lygiavertė ankstesnei Y reikšmei, ty jau Y '.
C) Dabar mes turime suardyti X ir pakoreguoto Y mantissasas.
1,110 + 0,01 = 10,0
Eksponentas vis tiek lygus pateiktam X rodikliui, kuris yra lygus 2.
D) Ankstesniame etape gautos sumos pakeitė normalizavimo vienetą, todėl reikia perkelti eksponentą ir pakartoti sumavimą. 10.0 su dviem bitais į kairę nuo kablelių, dabar skaičius turi būti normalizuotas, tai yra, perkelkite kablelį į kairę vienu tašku ir padidinkite eksponentą iki 1. Tai pasieksite 1000 . 2 3 .
E) Atėjo laikas konvertuoti slankiojo kablelio skaičių į vieną baitą.
| Suma | Pasirašyti | Eksponentas | Mantissa |
| X + Y | 0 | 1010 | 000 |
Išvada
Kaip matote, tokių skaičių sujungimas nėra pernelyg sudėtingas, nieko, kas kableliu plūdo. Jei, žinoma, mes nesvarstome skaičiaus sumažinimo mažesniu skaičiumi didesniam skaičiui (pavyzdyje, kai jis buvo nuo Y iki X), taip pat atkuriamas status quo, tai yra, kompensacijos išdavimas - kablelio judėjimas į kairę nuo mantissos. Kai jau yra pridėtas, labai įmanomas ir kitas sunkumas - perormalizavimas ir trinties trikdymas, jei jų skaičius neatitinka numerio formato, kad jį būtų galima pateikti.
Daugyba
Dvejetainė sistema siūlo du būdus dauginti slankiojo kablelio skaičių. Šią užduotį galima atlikti padauginus, kuris prasideda žemesnio laipsnio skaitmenimis ir prasideda didžiausiais skaičiais koeficiento. Abiejuose atvejuose yra keletas operacijų, kurios nuosekliai papildo privačius darbus. Šios papildomos operacijos kontroliuojamos daugiklio bitais. Taigi, jei yra vienas iš vieno iš daugiklio skaitmenų, tada dalinių produktų suma didėja, padauginus iš atitinkamo poslinkio. Ir jei nulinis dauginamas iš daugiklio, tada daugyba nėra pridėta.
Jei gaminamas tik du skaičiai, tada produkto kiekis jo kiekyje negali viršyti faktorių, esančių faktoriuose, skaičiaus daugiau nei du kartus, o dideliais skaičiais tai labai ir labai daug. Jei padauginta keletas skaičių, gaminys rizikuoja, kad jis nebus rodomas ekrane. Todėl bet kokio skaitmeninio automato skaitmenų skaičius yra visiškai baigtinis, ir tai verčia mus maksimaliai riboti sumalų skaičių skaičių. Ir jei skaičių skaičius yra ribotas, klaida neišvengiamai įeina į darbą. Jei skaičiavimų apimtis yra didelė, tada klaidos yra ant viršaus, todėl visa klaida labai padidėja. Čia vienintelė išeitis yra apvalinti dauginimo rezultatus, tada produkto klaida bus kintama. Kai atliekamas daugybos veiksmas, galima pereiti už skaitmenų tinklelio, bet tik iš mažesnės eilės pusės, nes apribojimai skaičiais, kurie pateikiami kabliataškio forma, yra ištaisyti.
Kai kurie paaiškinimai
Geriau pradėti pirmiausia. Labiausiai paplitęs numerio pateikimo būdas yra skaitinių eilučių eilės kaip sveikasis skaičius, kur kablelis yra skirtas pabaigoje. Ši eilutė gali būti bet kokio ilgio, o kablelis yra jam reikalingiausioje vietoje, atskiriant visą skaičių nuo jo dalinės dalies. Fiksuoto taško sistemos pateikimo formatas būtinai nustato tam tikras kablelės vietos sąlygas. Eksponentinis žymėjimas naudoja standartinį normalizuotą skaičių pateikimą. Tai yra (\ displaystyle aq ^ (n)) aqn. Čia yra {\ displaystyle a} a , o šis nėrinys vadinamas mantissa. Būtent apie tai buvo pasakyta, kad 0 ⩽ a
Plūduriuojančio taško skaičius labai panašus į standartinį standartinį numerių žymėjimą, tik eksponentas ir mantissa įrašomi atskirai. Pastarasis taip pat yra normalizuoto formato - fiksuoto kablelio, kuris puošia pirmąjį reikšmingą skaičių. Tiesiog plaukiojantis kablelis dažniausiai naudojamas kompiuteryje, ty elektroniniame vaizdavime, kai sistema nėra dešimtainis, bet dvejetainis, kur net mantisa denormalizuojama kableliu - dabar jis yra prieš pirmąjį skaitmenį, tada prieš jį, o ne po jo, kur visa dalis Iš esmės tai negali būti. Pavyzdžiui, mūsų natūralios dešimtainės sistemos duos devynis į dvejetainę sistemą laikinam naudojimui. Ir ji parašys ją slinkties tašku mantissa tokiu būdu: +1001000 ... 0 ir +0 ... 0100 prie jo. Tačiau dešimtųjų sistema negali sudaryti tokių sudėtingų skaičiavimų dvejetainėje, naudojant plūduriuojančią taškinę formą.
Ilga aritmetine
Elektroniniuose kompiuteriuose yra integruotų programinės įrangos paketų, kuriuose programuojamas mantissos ir eksponentės atminties kiekis, apribotas tik kompiuterio atminties dydžiu. Štai kaip ilgai atrodo aritmetinis, tai yra paprastas skaičių operacijas, atliekamas kompiuteriu. Tai yra tas pats - atimties ir papildymo, suskaidymo ir daugybos, elementarių funkcijų ir erekcijos prie šaknies. Tačiau tik skaičiai visiškai skiriasi, jų bitų gylis gali žymiai viršyti kompiuterio žodžio ilgį. Tokių operacijų įgyvendinimas nėra aparatinė įranga, o programinė įranga, tačiau pagrindinė aparatinė įranga plačiai naudojama dirbant su žymiai mažesniais užsakymais. Taip pat yra aritmetinis, kai skaičių ilgis apsiriboja vien atminties kiekiu - savavališkai tikslia aritmetika. Ilga aritmetika yra naudojama daugelyje sričių.
1. Kompiliuojant kodą (procesoriai, mažo bitumo mikrokontroleriai - 10 bitų ir 8 bitų bitų registrai, to aiškiai nepakanka, kad apdorotų informaciją "Analog-to-digital", taigi jie nebūtų naudojami be ilgos aritmetinės reikšmės.
2. Taip pat ilgas aritmetinis naudojama kriptografija, kai tai būtina siekiant užtikrinti, kad iš Kėlimas laipsniu ar dauginantis 10,309 rezultatas tikslumą. Sveikasis skaičius aritmetinis naudojamas Modulo m - didelis natūralusis skaičius, ir tai nebūtinai paprastas.
3. Programinė įranga finansininkai ir matematikai, taip pat nėra be ilgo aritmetika, nes vienintelis būdas patikrinti skaičiavimus ant popieriaus rezultatus - su kompiuterio pagalba, užtikrinant aukštą tikslumą numerius. Slankiojo kablelio jie gali apimti bet kokį ilgą įvykdymo skaičių. Bet inžineriniai skaičiavimai ir mokslininkų darbas reikalauja intervencijos programos skaičiavimus labai dažnai, nes tai yra labai sunku padaryti įvesties duomenis be klaidų. jie paprastai daug didelės apimties nei apvalinimo pasekmė.
Kova su klaidomis
Kai operacijų skaičius, kurioje slankiojo kablelio, tai yra labai sunku įvertinti rezultatų tikslumą. Dar išrado patenkinti visus matematinės teorijos, kuri padėtų išspręsti šią problemą. Bet klaida sveikasis įvertinti lengvai. Iš galimybė atsikratyti netikslumus ant paviršiaus - tiesiog naudokite tik fiksuoto taško skaičių. Pavyzdžiui, finansų programa pastatyta ant šio principo. Tačiau yra paprastesnis: reikiamą skaičių skaitmenimis po kablelio yra žinoma iš anksto.
Kitos programos neapsiriboja, nes jūs negalite dirbti su arba labai mažų arba labai dideliais kiekiais. Taigi, kai jūs dirbate visada atsižvelgia į tai, kad gali būti netikslumų, ir dėl rezultatų išvedimą būtina turo. Be to, automatinis apvalinimo dažnai veiksmo nebuvimas, todėl apvalinimo yra apibrėžta konkrečiau. Labai pavojinga šiuo atžvilgiu, palyginimas operaciją. Yra net įvertinti būsimų klaidų suma yra labai sunku.
Similar articles
Trending Now