Maaltu maaltu? · bei.pm

Barruun kun si'achi OpenAI GPT-4o Mini'n akkaataa ofii isaatiin hiikame.

Qabiyyee kana keessatti, maqaa faayilii fi injinariingii deebi'uu irratti barreessitoota argachu dandeessu.

Amma garuu akkana ta'ee jira:
Lafa kana irratti, afaan barreeffamaa hedduu fi namoota hedduu jiran, wantoota tokko tokko maqaa garagaraa qaban - yookaan wantoota bu'uuraa akka jiru irratti hubannaa hin qaban, sababiin isaas afaan barreeffamaa isaanii wanta kana irraa fagaatee jira.

tl;dr:
Notation koo C99 <stdint.h> irratti hundaa'a. Namni notation kana waliin hojjachuu danda'u, notation koo waliin rakkoo hin qabu.

Qabiyyee

Integer jechuun lakkoofsa guutuu jechuudha, kunis lakkoofsa bu'aa qindeessaa hin qabne.

Integer'n data format keessatti, baay'ee yeroo, iddoo lakkoofsa tokko keessatti, amala qindeessaa qaba. Kuni ani bit irratti ibsa - sababa kanaan, "Byte" fi akka kanaan kan hunda'e (Word, Qword, ...) baay'ee yeroo, madda irratti hundaa'ee ta'uu danda'a.

Akkasumas, Integer type keessatti lakkoofsa uumamaa (ℕ, jechuudhaan, mallattoo hin qabne - Unsigned) fi lakkoofsa guutuu (ℤ, jechuudhaan, mallattoo qabdu - Signed) gidduutti adda baafama.
Hubannoo kana mallattoo tokko irratti (u yookaan s) argamuu ni danda'a.

Akkasumas, mallattoo qabdu lakkoofsa guutuu Einerkomplement ta'uun ykn Zweierkomplement ta'uun ibsamu danda'a.
Haa ta'u malee, yoo kan biraa hin ibsamne ta'e, Zweierkomplement fayyadamuun gaariidha, sababa inni odeeffannoo ammayyaa keessatti agarsiistuu filatamaa ta'uu isaa.

Lakkoofsa mallattoo hin qabne ani dokumenta kootti uint jedhamee ibsama, akkasumas sirna qubeentaa keessatti ibsamu.
Lakkoofsa mallattoo qabdu ani dokumenta kootti sint jedhamee ibsama, akkasumas sirna qubeentaa keessatti ibsamu.

Datatype "char" fayyadamu irraa of qusachuuf ani dhama'aa, sababni isaas, silaa barruulee lakkoofsa guutuu (Integer) haala addaan ibsamu agarsiisuuf qofa.
Kunis akkasumas uint(8)[] jedhamee ibsamu.

Fakkeenya:

Notation C99 stdint.h-Walitti dhufeenya Ibsa Garee Lakkoofsa
uint(16) uint16_t Integer malee, dheerina Bit 16 0 - 65.535
sint(8) int8_t Integer mallattoo, dheerina Bit 8, Komplementii lama -126 - 127
uint(24) uint32_t:24 Integer malee, dheerina Bit 24 0 - 16.777.216

Gatii Festkomma

Lakkoofsa Festkomma lakkoofsota keessaa kanneen Lakkoofsota Raatioonaa (Q) ta'aniidha, kanaafis komaa fi komaa boodaa qaban.

Lakkoofsa Festkomma irraa ka'uun, maqaan isaa akkasumas, bakka komaatiif yeroo hunda qindaa'ee jira.
Kanaaf, lakkoofsichi gosa dataa kanaaf iddoo murtaa'aa qaba; mathematically kan ibsamus, bakka lakkoofsa xumurame ni jira.

Amala dhugaa keessatti, gosa dataa kana gosa hardware Flotiing-Point hin qabne irratti yeroo baay'ee ni fayyadama, sababni isaas lakkoofsota Festkomma kan raawwatamu gosa Integer tiin ta'uu danda'a.

Gosa dataa kunis fakkeenyaaf, sirna bulchiinsa odeeffannoo (DBMS) keessatti yeroo kaayyoo murtaa'e guutamuu qaba.
Sirna odeeffannoo maallaqa yeroo dheeraa tiksuuf yommuu yaadannu, walumaa galatti maallaqonni hedduun bakka 2 komaa booda murtaa'a. (Amma garuu, lakkoofsota Festkomma fayyadamuun sirrii miti; sirriidha, maallaqa xiqqaa akka Integer tiksuu fi hafuura isaas bakka ibsaa kennuu).

Akka lakkoofsa Integer tiin, lakkoofsa Festkomma keessatti furmaata lakkoofsa dur fi booda komaa ibsa:
ufixed(9,7) jechuun gosa dataa kan bit 9 komaa duraaf fi bit 7 komaa boodaa qopheessu; walumaa galatti bit 16 ta'a, akkasumas fakkeenyaaf lakkoofsa lamaan walitti hidhamiinsa akkasii (0,0) hanga (511,127) ni guutuu.
Maatiin kun garuu, dhangii deemsisa isaa 28 lakkoofsota hin fayyadamne ni dhorki, sababni isaas amalli hojii keessa (511,99) irratti hidhata.

Yeroo lakkoofsa Festkomma akka vector lakkoofsa lamaan qoodamu - kun ammoo yeroo hunda seensa dataa hin fayyadamne fi deemsisa lakkoofsota deemsisuu dhorkachuun - dhangii komaa boodaa akka qabeentaa murteessuutu mala.
Fakkeenyaf, ufixed(9,7) irratti hunda'uun, qabeentaa dhangii 27 kan qabu; bakka lakkoofsa 0,00 hanga 511 + 126127 Dhangii deemsisa lakkoofsota deemsisuu keessatti, komaa boodaa 128 tiin qooduu dha.
Kana waliin, hojiin herregaa salphaa ta'a, sababni isaas dhangii deemsisa akkaataa ta'ee jira, kanaaf gosa kun yeroo hunda filatamaa ta'a.
Gosa kun garuu, komaan boodaa dhangii deemsisaa keessatti qindaa'aa hin qabne, lakkoofsa tokko kan deemsisaa 0.01 miti, garuu 0.007874 ta'a, kun immoo dogoggora lakkoofsota fiduuf sababa ta'a.

Akkamitti ilaalcha fayyadamaa jiru, bakka itti fayyadamaa ta'uu mirkaneessuu dha.

Gatiiwwan Fließkomma ykn Gleitkomma

Sakkata waantota jechuun hiikkaa herregaa baay'ee cimaa ta'ee, kan intala guutuu lafa bu'uura herregaa ibsuu dhaan, qixxaatu saanduqa bu'uura herregaa hiika kennameef - akkasumas hiika sayiinsii irratti hundaa'a.
Kaayyoon ittiin hojiirra oolu, IEEE 754 waliin qindaa'ee, yeroo ammaa addunyaa irratti beekamaa ta'ee jira.

Sakkata waantota kan ta'an, akkaata ijoon keessaa qabiyyee armaan gadii of keessaa qaba:

Mallattoo (0 ykn 1) Fakkina Mantissii

Mallattoon kun hiika biyyoolessaa eegaluu danda'a, lakkoofsi dhugaa immoo qixxaatu
Mantissii * 2Fakkina

Ammas, waantota si'aayinaa ta'an hedduu jiru, kanneen addaa lakkoofsa raashi ibsu - kanneen keessaa ±∞ fi NaN ("lakkoofsa sirrii hin qabne").

Sakkata waantota kun yeroo baay'ee bu'a qabeessa ta'uu mala, yeroo dhugaa qabamuu baay'ee barbaachisaa hin taane, sababni isaas saffisni lakkoofsaa akkasuma gatii dhugaa dhabuun dhufuu danda'a. Haaluma kanaan, sakkata waantota kanatti fayyadamuu kanneen akka walqabsiisuu, akka vertex-vectors 3D-modaalota keessatti yookiin Bézier-/Spline-kurvaaf mul'ata ifa ta'uu irratti fayyadamu.

Faayilii odeeffannoo keessatti, sakkata waantota akka float(Mantissii, Fakkina) ibsameera.
Akkaataa IEEE 754 irraa adda ta'e kan fayyadame yommuu ta'u, kun immoo akkasuma ibsameera.