Cén cosa atá ann? · bei.pm
Ins an rubh, tá altanna faoi fhoirmíochtaí comhoibrithe agus innealtóireacht a mhalartú.
Ach anois tá sé mar seo:
Tá go leor teangacha cláraithe ann agus go leor daoine a aithníonn rudaí áirithe le hainmneacha go hiomlán difriúla - nó níl aon tuiscint acu ar phúnt tábhachtach rudaí, mar tá a dteanga cláraithe ag cur sin uathu.
tl;dr:
Mo thogha tuata a thógbháil ar C99 <stdint.h>
. Aon duine a thuigeann an toghadh seo, gheobhaidh sé áthas le mo thogha.
Uíthne
Integer is é atá i gceist le huimhreacha iomlána, is é sin le rá, uimhreacha gan cuid deiridh.
Agus tá Integers i bhformáidí sonraí de ghnáth laistigh de raon uimhreacha socraithe, mar is a bheadh réiteach. Tugaim an méid seo i Bit - ar an gcúis sin, toisc go bhfuil "Byte" agus cineálacha bunaithe ar a bhfuil (Word, Qword, ...) de ghnáth brataithe ag ardán.
Leis sin, déantar idirdhealú a dhéanamh idir cineálacha Integer freisin, idir uimhreacha nádúrtha (ℕ, is é sin, gan comhartha - Unsigned) agus uimhreacha iomlána (ℤ, is é sin, le comhartha - Signed).
Éiríonn an t-eolas seo le comhartha i mbréagán (u
nó s
).
Agus is féidir go cuirfear comharthaigh uimhreacha iomlána i láthair mar comhthéacs amháin nó mar comhthéacs dhá.
Faoi mar a shonrú nach bhfuil, úsáidtear an comhthéacs dhá, toisc go bhfuil sé mar an gcur i láthair is fearr sa nua-eolaíocht ríomhaireachta.
Úsáidim uint
chun uimhreacha gan comhartha a shonrú i mo doiciméid, le tagairt don cruinneas i Bits ina dhiaidh sin.
Úsáidim sint
chun uimhreacha comhartha a shonrú i mo doiciméid, chomh maith le tagairt don cruinneas i Bits ina dhiaidh sin.
Cuireann mé deireadh leis an úsáid atá ag an gcineál sonraí "char" le haghaidh carachtair, toisc go gcuireann slabhraí carachtar i láthair go ginearálta ach uimhreacha Integer le léirmhíniú speisialta.
Cuirtear iad mar sin i láthair mar uint(8)[].
Samplaí:
Conradh | C99 stdint.h -Comhoiriúnacht |
Tuairisc | Réim Uimhreacha |
---|---|---|---|
uint(16) | uint16_t | Uimhreacha neamhshínté, 16 Bit Fad | 0 - 65.535 |
sint(8) | int8_t | Uimhreacha sínté, 8 Bit Fad, Comhcomhoiriúnacht Dhá Thagann | -126 - 127 |
uint(24) | uint32_t:24 | Uimhreacha neamhshínté, 24 Bit Fad | 0 - 16.777.216 |
Luachanna Festcomma
Luach na nUimhreacha Fíochmha is uimhreacha as an speictream na nUimhreacha Réalaí (Q), a bhfuil comhartha agus duillinní tar éis an chomhartha acu.
Le luachanna na nUimhreacha Fíochmha, is é sin an ainm, tá suíomh an chomhartha socraithe go daingean ag an gcineál sonraí.
Mar sin, tá raon uimhreacha daingean ann do uimhreacha an chineáil sonraí seo; le matamaitic, tá an raon uimhreacha críochnaithe.
I gcás na réaltachta, úsáidtear an cineál sonraí seo go príomha ar ardáin nach bhfuil aon aonad crua-earraí leachtach tapa go leor ann, toisc go féidir an ríomh uimhreacha fíochmha a dhéanamh trí aonadí iomlán.
Úsáidtear an cineál sonraí freisin, mar shampla, ag córais bainistíochta bunachar sonraí, nuair is gá éilimh shocraithe a chomhlíonadh.
Cuimhnigh ar chóras a choinnítear sonraí airgeadais go seasta; tá an chuid is mó de na bochtaí teoranta do 2 duillinn tar éis an chomhartha.
(Ní bhíonn sé cliste luachanna fíochmha a úsáid; is é an ciallmhar atá ann ná an unití airgeadais is lú a choinneáil mar aonad iomlán agus an chuid eile de na leibhéil léirithe a fhágáil)
Ar an gcaoi chéanna le hionchur Iomlán, tugaim an réiteach na huimhreach roimhe agus tar éis an chomhartha le luachanna fíochmha:
ufixed(9,7)
tagraíonn do chineál sonraí a shocraíonn 9 bit do luach roimh an gcomhartha, agus 7 bit do luach tar éis an chomhartha; i dtaca le 16 bit ar fad, agus mar sin, mar shampla, mar veicteoir de dhá n-uimhreacha neamhspleácha, d’fhéadfadh sé raon ó (0,0) go (511,127) a chlúdach.
Tá an léiriú seo áfach, ag brath ar a gcur i dtoll a chéile, ag caillteanas 28 uimhreacha incéataithe, mar is dócha go gcuirfí teorainn le (511,99) i gcleachtas.
In áit léiriú díreach ar luach fíochmha mar veicteoir de 2 n-uimhir neamhspleácha - rud a chiallaíonn go gcoinníonn sé laige áirithe ag an gconvershún go huimhreacha deiseacha agus tarchur láimhe - is féidir an raon tar éis an chomhartha a léiriú mar briseadh dá réiteach iomlán.
Ag baint úsáide as an ufixed(9,7)
a luaigh, tagraíonn sé do bhriseadh le hinneall 27 - bíonn an raon uimhreacha ó 0,00 go 511 + 126⁄127
Chun a thiontú go léir sa chuma de na huimhreacha deiseacha, bheadh ort an duilleog tar éis an chomhartha a roinnt trí 128.
Leis an leagan seo, is é an ríomhaireacht éasca a dhéanamh, toisc go gcuirfí an tarchur go huathoibríoch, rud a chiallaíonn go mbíonn an leagan seo áitithe go ginearálta.
Ach tá míbhuntáiste ag an leagan seo, nach bhfuil na duillinní tar éis an chomhartha san léiriú deiseacha áirithe, nach bhfuil duilleog dhíreach 0.01
, ach 0.007874
, rud a chabhróidh le hearráidí cruinnithe.
Cén cineál léirithe a úsáidtear, tá sé doiciméadaithe ag an áit a úsáidtear.
Flaithchomma no Glaithchomma-urthar
Luachanna leachtach atá i n-abhair shíceolaíochta chasta, ina ndéantar uimhir iomlán le réiteach seasta a chur in iúl trí theirm matamaiticeach ar shlí a bhformhóidh an chuid tar éis an phointe trí dhíolúint - agus a bhfuil sé mar aidhm díriú ar nótaí eolaíochta go díreach.
An bealach is coitianta le seo a chur i gcrích, tá sé caighdeánaithe le IEEE 754 agus tá sé aithnithe go hidirnáisiúnta ó shin.
Mar sin, tá luach leachtach comhoibrithe go hiondúil as na comhoibrithe seo a leanas:
Comhartha (0 nó 1 ) |
Exponent | Mantissa |
Agus an comhartha á sholáthar mar eolas díreach déanta de ja/ní, foirfeann an uimhir fhíor trí na comhoibrithe
Mantissa * 2Exponent
Ar an taobh eile, tá roinnt luachanna seasta ann, a chuireann cásanna speisialta uimhreacha réasúnacha clúdaithe - ina measc ±∞
agus NaN
("uimhir éagórach").
Is éard atá i luachanna leachtach go háirithe úsáideach nuair ní bhíonn an cruinneas tábhachtach, mar go dtarlóidh earráidí cruinneas agus mar sin caillteanas cruinneas leis an gcineál luacha seo. Mar is gnách, úsáidtear luachanna leachtach chun samplaí a shainmhíniú, amhail veicteoirí vrteic le haghaidh samhlacha 3D nó cúirteanna Bézier/Spline do chuspóirí ionadaíochta optúla.
I na formáidí sonraí, sonraítear luachanna leachtach mar float(Mantissa, Exponent)
.
Má úsáidtear formáid a chloíonn le IEEE 754, cuirtear in iúl é sin go comhoiriúnach.