He aha ia? · bei.pm
Ma kēia ʻāpana, aia nā ʻatikala e pili ana i nā ʻano faila a me ka ʻenehana hoʻi.
I kēia manawa, ʻo ia ka mea:
Aia nā ʻōlelo kīwī he nui ma ke ao, a me nā poʻe he nui e ʻike i nā mea ma lalo o nā inoa ʻē aʻe - a i ʻole, ʻaʻohe ʻike o nā mea kūlana e pili ana, no ka mea, ua hoʻokuʻikahi ʻia e kā lākou ʻōlelo kīwī.
tl;dr:
Ako koʻu palena e manaʻo ana i C99 <stdint.h>
. Inā he kanaka e hiki iā ia ke hoʻokomo i kēia palena, e ʻike ana ʻo ia i koʻu palena me ka maʻalahi.
ʻAʻohe
Nā helu ʻĀkau he mau helu ko lākou, ʻo ia hoʻi, he mau helu ʻole i ke koho ʻana.
I kēia mau helu ʻĀkau, e ʻike ʻia ana i nā ʻano ʻike ma nā ʻōnaehana ʻikepili, ʻo ia hoʻi, i loko o kekahi ʻano helu kū hoʻokumu, e like me ka hoʻokele aupuni. E hāʻawi au i kēia ma nā bit - no ka mea, he mau ʻano ʻē aʻe, e like me "Byte" a me nā ʻano e kūkulu ʻia mai, (Word, Qword, ...) i loko o nā ʻōnaehana pili i nā papahana.
Eia naʻe, e ʻike ʻia ana i nā ʻano helu ʻĀkau i loko o nā ʻano helu kūlohelohe (ℕ, ʻo ia hoʻi, ʻole i loaʻa ka hōʻailona - Unsigned) a me helu ʻĀkau (ℤ, ʻo ia hoʻi, me ka hōʻailona - Signed).
Aia kēia ʻike i loko o ka hōʻailona i loko o ka inoa (u
a i ʻole s
).
Hiki ke hōʻike ʻia nā helu ʻĀkau me ka hōʻailona e like me ka Einerkomplement a i ʻole ka Zweierkomplement.
I ʻole e hōʻike ʻia kekahi ʻano ʻē aʻe, e hoʻohana ʻia ka Zweierkomplement, no ka mea, he ʻano koʻikoʻi i loko o ka ʻikepili modern.
ʻO nā helu ʻole me ka hōʻailona, e hāʻawi ʻia nei e au i loko o kāʻu mau dokumente me ka inoa uint
, me ka hōʻike ʻana o ka pololei i loko o Bits.
ʻO nā helu me ka hōʻailona, e hāʻawi ʻia nei e au i loko o kāʻu mau dokumente me ka inoa sint
, me ka hōʻike ʻana o ka pololei i loko o Bits.
ʻAʻole au e hoʻohana i ke ʻano ʻikepili "char" no nā hōʻailona, no ka mea, he mau pā ʻōlelo ko lākou, i loko o nā helu ʻĀkau e noho pū ana me kekahi ʻano kūlike.
Aia kēia mau mea i hōʻike ʻia e like me ke ʻano uint(8)[].
Nā laʻana:
Kina | C99 stdint.h -Kākoʻo |
Ka wehewehe | Ka ʻāina helu |
---|---|---|---|
uint(16) | uint16_t | He ʻIkena ʻAʻohe, 16 Bit ka lōʻihi | 0 - 65.535 |
sint(8) | int8_t | He ʻIkena Kākau, 8 Bit ka lōʻihi, ʻŌlelo ʻElima | -126 - 127 |
uint(24) | uint32_t:24 | He ʻIkena ʻAʻohe, 24 Bit ka lōʻihi | 0 - 16.777.216 |
Nā waiwai festkomma
Nā wai ʻana kū hoʻokumu he mau helu i loko o ka Nā helu ʻākau (Q), no laila loaʻa iā lākou kahi pōʻai a me nā wahi pōʻai.
I nā wai ʻana kū hoʻokumu, no laila, e like me ka inoa, ua hoʻokomo ʻia ka nohona o ka pōʻai e ka ʻano ʻike.
O ia hoʻi, loaʻa i kēia mau helu kahi ʻano helu kū hoʻokumu; e like me ka nohona helu, ʻo ia hoʻi, pōʻai.
I ka nohona, hoʻohana ʻia kēia ʻano ʻike ma nā papahana ʻole i loaʻa ka ʻoi aku ka wikiwiki o nā mea hoʻokele pōʻai, no ka mea, hiki ke hana nā wai ʻana kū hoʻokumu me nā ʻāina helu.
Ke hoʻohana pū ʻia kēia ʻano ʻike e nā ʻōnaehana hoʻokomo ʻike, inā pono e hoʻokō i nā koho kū hoʻokumu.
E manaʻo ʻia kēia i nā ʻōnaehana e mālama mau i nā ʻike kālā; ʻO nā kālā he nui e hoʻopaʻa ana i 2 mau wahi ma hope o ka pōʻai.
(Aole he mea ʻoluʻolu e hoʻohana i nā wai ʻana kū hoʻokumu; ʻoi aku ka maikaʻi e mālama i ka māmā ʻāina kālā o nā ʻāina helu a me ka waiho ʻana i nā kua o ka ʻike.)
I ke ʻano like me nā ʻike helu, hāʻawi wau i ka ʻike ʻana o ka helu ma mua a me ma hope o ka pōʻai:
ufixed(9,7)
he ʻano ʻike e noho ana i nā bit 9 no ka ʻike ma mua o ka pōʻai, a me 7 bit no ka ʻike ma hope o ka pōʻai; ʻo ia hoʻi, ʻo nā bit 16 ka ʻākau a me ke koho mau i nā ʻāina helu ʻelua e loaʻa ka noho ʻana mai (0,0) a i (511,127).
Eia naʻe, e loaʻa kēia ʻike i loko o ka ʻike decimal e noho ana nā helu 28 i loko o ka maʻamau, no ka mea, e kala ʻia ka noho ʻana i ka (511,99) ma ke koho.
I ke ʻano ʻole i ka ʻike kū hoʻokumu o ka wai ʻana kū hoʻokumu e like me kahi vektora o nā ʻāina helu ʻelua - ʻo ia hoʻi, ʻo ia ka mea e noho ana me ke koho ʻole i ka ʻike decimal a me ke koho manuahi - hiki pū ke ʻike ʻia ka wahi pōʻai ma ke ʻano he māhele o kona ʻike holoʻokoʻa.
I ke koho ʻana i ka ufixed(9,7)
, loaʻa ke māhele o ka ʻāina 27 - ʻo nā helu e noho ana mai 0,00 a i 511 + 126⁄127
No ka hoʻokomo ʻana i ka ʻike decimal, pono e hoʻokuʻu i ka wahi pōʻai e 128.
Me kēia ʻano, maʻalahi ke hoʻokomo ʻana i nā hana helu, no ka mea, e noho ana ka hoʻokuʻu i loko o ka ʻike, no laila, ʻo ia ka mea e loaʻa i kēia ʻano ka koho.
Eia naʻe, he mea ʻole kēia ʻano, no ka mea, ʻaʻole i loaʻa ka ʻike pōʻai i loko o ka ʻike decimal, no laila, ʻaʻole i loaʻa ka ʻāina decimal hoʻokomo 0.01
, akā, 0.007874
, e hoʻoikaika i nā hewa māhele.
Pehea e hoʻohana ʻia ka ʻike, e ʻike ʻia e nā wahi e hoʻohana ʻia.
Nā waiwai ʻĀkau a me nā waiwai ʻĀkau
Nā ʻIke ʻĀkau he mau ʻōlelo pili i ka hoʻomālamalama ʻana, e hōʻike ana i ka helu piha me ke koho kū hoʻokahi e like me ke ʻano kānāwai, e hoʻokomo ʻia i loko o ke ʻano e hiki ke huki i ka ʻāpana kālā e noho i loko o ke kūlana - a e pili pū ana me ka kāleka kānāwai.
ʻO ka mea maʻamau e hoʻokomo i kēia, ua hoʻokumu ʻia me ke kuleana o
IEEE 754 a ua hoʻokomo ʻia e nā ʻāina ʻē aʻe.
I kēia mau ʻIke ʻĀkau, ʻo ia hoʻi, loaʻa nā mea ʻelima e pili ana i nā ʻāpana e like me kēia:
Pili (0 a i ʻole 1 ) |
ʻIke ʻĀkau | Mantissa |
I loko o ke pili e like me nā ʻike, hiki ke loaʻa ka ʻike e pili ana i ka helu ma ke ʻano o ke kuleana
Mantissa * 2ʻIke ʻĀkau
Eia kekahi, loaʻa kekahi mau manaʻo kū hoʻokahi, e hoʻokomo i nā ʻano kū hoʻokahi nā helu rasyonal - me nā ±∞
a me NaN
("ʻaʻohe helu kūpono").
He mea koʻikoʻi nā ʻIke ʻĀkau, inā ʻo ia hoʻi, ʻaʻole koʻikoʻi ka maikaʻi, no ka mea, i kēia ʻano helu, e loaʻa ka poʻe i nā pilikia o ka hoʻomaikaʻi ʻana a me nā hōʻino o ka maikaʻi. Ma nā ʻano maʻamau, hoʻohana ʻia nā ʻIke ʻĀkau e like me nā kī ʻākoakoa, e like me nā ʻīpuka o nā ʻōnaehana 3D a i ʻole nā Bézier/Spline hoʻi e noʻonoʻo ana i nā kumu ʻike.
I nā ʻano ʻike, hoʻohana ʻia nā ʻIke ʻĀkau e like me float(Mantissa, ʻIke ʻĀkau)
.
Inā hoʻohana ʻia he ʻano ʻike e nānā ʻole i ka IEEE 754, e ʻike ʻia ia ma ke ʻano kūpono.