Cad é cad? · bei.pm
Sa chuid seo tá altanna faoi fhoirmíochtaí comhoibrithe agus innealtóireacht a mhalartú.
Ach anois tá sé mar seo:
Tá go leor teangacha cláir ann agus go leor daoine a bhfuil a fhios acu faoi rudaí áirithe le hainmneacha go hiomlán difriúla - nó nach bhfuil tuiscint ar chor ar bith acu ar chórais bhunúsacha mar gheall ar an gconláth a bhaineann lena dteanga cláir.
tl;dr:
Úsáidim leagan de C99 <stdint.h>
mar bhunús le mo nótaí. Beidh daoine a thuigeann an leagan seo in ann mo nótaí a thuiscint go héasca.
Uimhreach
Integer is é atá i gceist ná uimhreacha iomlána, is é sin, uimhreacha gan comhthéacs tarraingthe.
Agus is iad Integer san fhormáid sonraí go ginearálta laistigh de raon uimhreacha socraithe, mar atá, laistigh de réiteach. Tugaim seo le fios i mBits - mar gheall ar an rud é, go bhfuil "Byte" agus cineálacha a thagann óna dhóthain (Word, Qword, ...) go ginearálta ag brath ar ardáin.
Chomh maith leis sin, déantar idirdhealú a dhéanamh idir uimhreacha nádúrtha (ℕ, is é sin, gan comhartha - Unsigned) agus uimhreacha iomlána (ℤ, is é sin, le comhartha - Signed).
Tá an t-eolas seo le feiceáil trí chomhartha sa hainm (u
nó s
).
Mar sin, is féidir le uimhreacha iomlána le comhartha a bheith le feiceáil mar comhthéacs amháin nó mar comhthéacs dhá.
Faoi láthair, seachas a mholtar go dtagraíonn sé, úsáidtear comhthéacs dhá, mar is é sin an réiteach is fearr le haghaidh na teicneolaíochta faisnéise nua-aimseartha.
Tugaim uimhreacha gan chomhartha i mo doiciméid mar uint
, le míniú ar an cruinneas i Bits ina dhiaidh sin.
Tugaim uimhreacha le comhartha i mo doiciméid mar sint
, ar an gcaoi chéanna le míniú ar an cruinneas i Bits.
Seachainim an cineál sonraí "char" do charachtair, mar is é atá i gceist go ginearálta ná slabhraí uimhreacha a léiríonn ach feidhmíocht speisialta.
Mar sin, léirítear iad mar uint(8)[].
Samplaí:
Notaíocht | C99 stdint.h -Comhoiriúnacht |
Cur Síos | Raon Uimhreacha |
---|---|---|---|
uint(16) | uint16_t | Uimhreacha Neamhspleácha, 16 Bit Fad | 0 - 65.535 |
sint(8) | int8_t | Uimhreacha Sínithe, 8 Bit Fad, Comhoiriúnacht Dhá Uimhir | -126 - 127 |
uint(24) | uint32_t:24 | Uimhreacha Neamhspleácha, 24 Bit Fad | 0 - 16.777.216 |
Luachanna comhoibrithe
Luachanna comhoibrithe is iad na luachanna uimhriúla as speictream na Uimhreacha Ráta (Q), atá ag dul chun comhoibriú agus suíomhanna tar éis an chomhoibrithe a bheith acu.
Le luachanna comhoibrithe, tá suíomh an chomhoibrithe socraithe go daingean ag an dtipoid sonraí - sin an fáth go dtugtar an t-ainm sin air.
Mar thoradh air sin, cruthaítear raon uimhriúil daingean do luachanna an t-ainm sonraí seo; le hól na mata, tá an raon uimhriúil críochnaitheach.
I réaltacht, úsáidtear an t-ainm sonraí seo go príomha ar ardáin gan aon aonad crua-earraí comhoibrithe tapa go leor, toisc gur féidir an comhoibriú a dhéanamh le hionaid uimhriúla.
Úsáidtear an t-ainm sonraí freisin, mar shampla, ag córais bainistíochta bunachair sonraí nuair atá éileamhanna comhoibrithe le comhlíonadh.
Samhlófar é seo le córais a choinníonn sonraí airgeadais go daingean; tá an chuid is mó de na luacha airgeadais teoranta do 2 shuíomh tar éis an chomhoibrithe.
(Ní hé an rud is glice é luachanna comhoibrithe a úsáid; is é an rud is glice a dhéanamh ná an nóiméad is lú airgeadais a choinneáil mar uimhir iomlán agus an chuid eile a fhágáil don leibhéal taispeána)
Comhoiriúnach le tuairiscí uimhriúla, tugaim an réiteach do luachanna comhoibrithe roimh agus tar éis an chomhoibrithe:
ufixed(9,7)
tagraíonn do thipoid sonraí a bhfuil 9 bít gan chomhartha á gcoimeád do luach roimh an gcomhoibriú, agus 7 bít do luach tar éis an chomhoibrithe; mar sin tá sé 16 bít leathan agus mar sin d’fhéadfadh sé raon (0,0) go (511,127) a chlúdach mar veicteoir de dhó uimhreacha neamhspleácha.
Déanfaidh an léiriú seo, áfach, 28 uimhreacha a chailleadh ina chur i láthair deichniúil, mar is dócha go gcuirfeadh duine teorainn le (511,99) i bpractaic.
Seachas léiriú díreach ar luach an chomhoibrithe mar veicteoir de 2 uimhreacha neamhspleácha - rud a chiallaíonn go gcaithfear réigiún gan úsáid a choinneáil le linn an aistrithe go huimhreacha deichniúla agus aistriú láimhe - d’fhéadfaí an réigiún tar éis an chomhoibrithe a léiriú mar briseadh ar a réiteach iomlán.
Agus le haghaidh ufixed(9,7)
, cruthaíonn sé briseadh le hiontráil 27 - téann an raon uimhriúil ó 0,00 go 511 + 126⁄127
Chun é a aistriú go léir na huimhreacha deichniúla, caithfear an suíomh tar éis an chomhoibrithe a roinnt ar 128.
Leis an leagan seo, tá sé níos éasca oibríochtaí ríomhaireachta a dhéanamh, toisc go dtarlóidh an aistriú go huathoibríoch, agus dá bhrí sin bíonn an leagan seo is rogha go ginearálta.
Mar sin féin, tá laige ag an leagan seo, nach bhfuil na suíomhanna tar éis an chomhoibrithe i gcumraíocht deichniúil le réiteach ráthaithe níos mó, mar sin ní bhfaighidh suíomh amháin an luach 0.01
, ach 0.007874
, rud a chruthóidh earráidí cruinnithe comhoiriúnacha.
Cuirfear an modh léiriúcháin a úsáidtear in iúl ag an áit a gcuirtear i bhfeidhm é.
Luachanna sreabhadh nó luachanna sleamhnáin
Luachanna snáithín is iad na hiarratais matamaitice níos casta, ina n-expressítear uimhreacha iomlána le réiteach seasta trí théarma matamaitice, go héifeachtach cruthófar an chuid tar éis an phointe le hionradh - agus é sin díreach ag díriú ar nótaí eolaíocha.
An bealach is coitianta chun é seo a chur i bhfeidhm, tá sé caighdeánaithe le IEEE 754 agus tá sé aitheanta go hidirnáisiúnta ó shin.
Mar sin, tá luach snáithín de ghnáth comhoibrithe leis na comhpháirteanna seo a leanas:
Comhartha (0 nó 1 ) |
Exponent | Mantissa |
Leis go bhfuil an comhartha mar shoilse bhineártha Is féidir é a thuiscint go héasca, cruthaítear an uimhir fíor trí an comhoibriú
Mantissa * 2Exponent
Chomh maith leis sin, tá raon constaintí ann, a chlúdaíonn cásanna speisialta uimhreacha rathúla - ina measc ±∞
agus NaN
("ní uimhir bhailí").
Éascaíonn luachanna snáithín go háirithe nuair ní bhíonn an cruinneas tábhachtach, mar go dtarlóidh earráidí ciorclach le hiontrálacha den sórt sin agus mar sin cailltear cruinneas. De ghnáth, úsáidtear luachanna snáithín mar shampla chun comhoiriúnachtaí a shainiú, mar veicteoirí vertex i samhlacha 3D nó cúirnéirí Bézier/Spline le haghaidh críocha léirithe optúla.
I na formáidí sonraí, sonraítear luachanna snáithín mar float(Mantissa, Exponent)
.
Má úsáidtear formáid a choinníonn le IEEE 754, tugtar le fios é sin.