Maxay yihiin maxay? · bei.pm

Qoraalkan waxaa si otomaatig ah u turjumay OpenAI GPT-4o Mini.

Qaybtan waxaa ku yaal maqaalada ku saabsan qaababka faylasha iyo injineerinka dibadda.

Hadda ayaa sidaas ah:
Waxaa jira luqado badan oo barnaamijyo ah iyo dad badan oo waxyaabo qaar magacyo gebi ahaanba kale ugu yaqaana - ama xitaa aan wax fikrad ah ka hayn jiritaanka waxyaabo aasaasi ah, maadaama luqaddooda barnaamijka ay ka fogeysay.

tl;dr:
Notationkaygu wuxuu si guud ugu saleysan yahay C99 <stdint.h>. Qof kasta oo la jaanqaadi kara notationkan, wuxuu si hufan ugu shaqeyn doonaa notationkayga.

Integer

Integer waa tirooyinka buuxa, ama tirooyinka aan lahayn qaybda ka dib dhibcaha.

Integer-yadu badanaa waxaa lagu qeexaa qaab xogeed oo ku jira xadka tiro go'an, oo ah xalinta. Waxaan ku muujinayaa tan Bit - sababtoo ah "Byte" iyo noocyadiisa (Word, Qword, ...) badanaa waxay ku xiran yihiin madal.

Sidoo kale, waxaa jira farqi u dhexeeya noocyada Integer ah, oo lagu kala soocayo tirooyinka dabiiciga ah (ℕ, oo macnaheedu yahay, aan lahayn calaamad - Unsigned) iyo tirooyinka buuxa (ℤ, oo macnaheedu yahay, leh calaamad - Signed).
Macluumaadkan waxaa lagu muujin karaa calaamadda ku jirta magaca (u ama s).

Sidoo kale, waxaa suurtogal ah in calaamad leh tirooyinka buuxa lagu muujiyo sidii komplementka hal ama sida komplementka laba.
Haddii aan si kale loo sheegin, komplementka laba ayaa la isticmaalaa, maadaama ay tahay qaabka la doorbido ee cilmiga kombuyuutarka casriga ah.

Tirooyinka aan lahayn calaamad waxa aan ku muujinayaa dokumentiyadayda sida uint, iyadoo la raacayo qeexitaanka saxda ah ee Bits.
Tirooyinka leh calaamad waxa aan ku muujinayaa dokumentiyadayda sida sint, sidoo kale iyadoo la raacayo qeexitaanka saxda ah ee Bits.

Waan ka haray isticmaalka nooca xogta "char" ee xarafka, maadaama silsiladaha xarafku badanaa ay yihiin silsilad ah Integer-qiimayaal leh fasiraad gaar ah.
Tan waxaa sidaa darteed loo muujinayaa sida uint(8)[].

Tusaalooyinka:

Qoraal C99 stdint.h-U dhiganta Sharaxaad Xisaab
uint(16) uint16_t Lambarka aan saameyn lahayn, Dhererka 16 Bit 0 - 65.535
sint(8) int8_t Lambarka saameynta leh, Dhererka 8 Bit, Laba jeer kadib -126 - 127
uint(24) uint32_t:24 Lambarka aan saameyn lahayn, Dhererka 24 Bit 0 - 16.777.216

Qiimaha Festkomma

Qiimaha go'an waa qiimayaal tiro ah oo ka mid ah Tirooyinka macquulka ah (Q), kuwaas oo leh komma iyo meelaha dambe.

Qiimaha go'an waxa uu leeyahay - sidaas darteed magaca - meesha komma ee nooca xogta ayaa si go'an loo dejiyay.
Tani waxay sidoo kale keentaa meel tiro oo go'an oo loogu talagalay tirooyinka noocan xogta; xisaabta lagu muujinayo, meelaha tirooyinka waa xadidan.

Xaqiiqada, noocan xogta ayaa badanaa loo isticmaalaa meelo aan lahayn qalab xisaabeed oo xawli ku filan, maadaama xisaabinta qiimaha go'an ay ka dhici karto cutubyo integer.

Sidoo kale, nooca xogta ayaa tusaale ahaan loo isticmaalaa nidaamyada maaraynta xogta marka shuruudo go'an la buuxiyo.
Tusaale ahaan, nidaamyada kaydinta joogtada ah ee xogta maaliyadeed; inta badan lacagaha waxay ku xaddidan yihiin 2 meelaha dambe. (Sidaas darteed, ma ahan xikmad in la isticmaalo qiimaha go'an; waxa ka fiican in si toos ah loo kaydiyo cutubka ugu yar ee lacagta sida integer, dhamaadka kaydinta ayaa loo daayaa)

Si la mid ah sheegidda integer, waxaan ku siinayaa xallinta tirada hore iyo ka dib meesha komma:
ufixed(9,7) waxay tilmaamaysaa nooc xogta oo aan lahayn calaamad oo 9 Bit ah loogu talagalay qiimaha ka horeeya komma, iyo 7 Bit ah qiimaha ka dambeeya komma; guud ahaan 16 Bit ballaaran, taasoo tusaale ahaan ka dhigi karta vektor laba integer oo madax-bannaan ah meel u dhaxaysa (0,0) ilaa (511,127).
Si kastaba ha ahaatee, tarjumaaddan waxay ku lumaysaa 28 tiro oo aan la isticmaalin, maadaama laga yaabo in la xaddido ugu badnaan (511,99) xagga xaqiiqda.

Bedelka turjumaad toos ah ee qiimaha go'an sida vektor ka kooban 2 integer oo kala duwan - taas oo had iyo jeer keeni doonta meel xog ah oo aan la isticmaalin marka loo beddelo tirooyinka decimal iyo hawl-gal gacmeed - waxaa sidoo kale suurto gal ah in aagga ka dambeeya komma loo turjumo sida boodh oo ka mid ah xallinta guud.
Tusaale ahaan, ufixed(9,7) waxay keentaa boodh leh xad ah 27 - aagga tirooyinka waxaa markaa laga helayaa 0,00 ilaa 511 + 126127 Si loo badalo una dhigo qaab decimal, waxaa loo baahan yahay in la qeybiyo meelaha dambe ee 128.
Noocan waxay ka dhigaysaa in hawlgallada xisaabeed si sahlan loo sameeyo, maadaama isku darka si toos ah u dhaco, taasoo sababtay in noocan guud ahaan la doorbido.
Si kastaba ha ahaatee, noocan wuxuu leeyahay cillad ah in meelaha dambe ee qaab decimal aysan lahayn xallin dammaanad ah, hal meel decimal ma laha qiimaha 0.01, laakiin waxay leedahay 0.007874, taasoo keeni doonta khaladaad wareejin.

Nooca turjumaada la isticmaalayo waxaa lagu caddeeyaa meesha loo adeegsado.

Qiimaha Fließkomma ama Gleitkomma

Qiimaha qulqulaya waa muujinno xisaabeed oo ka adag, halkaas oo tiro dhan oo leh xallin go'an lagu muujiyo eray xisaabeed si waxtar leh qaybta ka dib dhibicda loo sameeyo - taasoo si toos ah ugu xiran qorista sayniska.
Jidkii ugu caansanaa ee tan lagu hirgelinayo ayaa lagu nidaamiyey IEEE 754 waxaana tan la aqoonsan yahay caalam ahaan tan iyo markaas.

Qiimaha qulqulaya badanaa wuxuu ka kooban yahay qaybaha soo socda:

Saamiga (0 ama 1) Exponent Maltiis

halka saamiga sida macluumaad laba-geesood ah oo Haa/Maya ah si sahlan loo heli karo, tirada dhabta ah waxaa lagu sameeyaa isku-dhafka
Maltiis * 2Exponent

Sidoo kale waxaa jira tiro joogto ah oo qiimaha ah, kuwaas oo daboolaya xaaladaha gaarka ah tiro macquul ah - kuwaas oo ka mid ah ±∞ iyo NaN ("tirada saxda ah ma jirto").

Qiimaha qulqulaya wuxuu si gaar ah waxtar u leeyahay marka saxsanaanta aysan muhiim ahayn, maadaama noocan qiimaha ah had iyo jeer ay dhacaan qaladaadka wareegga iyo sidaas darteed khasaaraha saxda ah. Sida caadiga ah, qiimaha qulqulaya waxaa sidaas darteed loo isticmaalaa tusaale ahaan qeexitaanka xariijimaha, sida xariijimaha Vertex ee moodooyinka 3D ama xaaladaha Bézier/Spline ee ujeeddooyinka matalaadda indhaha.

Noocyada xogta waxaa lagu qeexaa qiimaha qulqulaya sida float(Maltiis, Exponent).
Haddii qaab ka duwan IEEE 754 la isticmaalo, waxaa si waafaqsan loo sheegay.