Hvat er hvat? · bei.pm

Hesa tekstur bleiv automatisk týddur við OpenAI GPT-4o Mini.

Í hesum bólki eru greinar um skráarskipanir og afturverkandi inntøk.

Nú er tað so:
Í heiminum eru nógvar forritunarmál og nógvir fólk, sum kenna nakrar lutir við heilt ymiskum nøvnum - ella hava ikki ein væn av at grundleggjandi lutir finnast, tí at teirra forritunarmál hevur abstractað tað burtur frá teimum.

tl;dr:
Mín notation snýr seg grovt um C99 <stdint.h>. Fyrst tú kanst brúka hesa notation, fer tú eisini at klára mína notation.

Hevur

Heilar tøl eru einfaldliga sagt heiltøl, tað vil siga tøl uttan desimalpart.

Her eru heiltøl í datusniðum vanliga avmarkað innan ein fastan tølnummar, nærum ein úrslit, definerað. Eg givur hetta í bitylum - tí at ein "Byte" og bygdu týpur (Word, Qword, ...) eru vanliga plattformavhengig.

Í ávísum førum verður eisini skilt millum náttúrligar tøl (ℕ, tað vil siga, uttan fyrimynd - Unsigned) og heilar tøl (ℤ, tað vil siga, við fyrimynd - Signed).
Hetta er sýnt við einum fyrimynd í heitinum (u ella s).

Her er møguligt, at fyrimyndarheilar tøl eru annaðhvørt framd sum eina komplement ella sum tveir komplement.
So longt tað ikki er annað viðgjørt, verður tveir komplement brúkt, tí at tað í nútíðar informatikk er tær forbrúkt framstillingar.

Fyrimyndarheilar tøl verða av mær áður nevnd sum sint í mínum dokumentum, eisini við so viðkomandi ávísing til nákvæmni í Bits.
Fyrimyndarleys tøl verða av mær áður nevnd sum uint, eisini við so viðkomandi ávísing til nákvæmni í Bits.

Eg avmarki meg frá at brúka datatype "char" fyri teig, tí at teigastrengar vanliga bara eru heiltølu-kettur við serligari útlegging.
Teir verða tí presenteraðir sum uint(8)[].

Dømi:

Notation C99 stdint.h-samsvarandi Greining Talrúm
uint(16) uint16_t Ósignað heiltal, 16 Bit longd 0 - 65.535
sint(8) int8_t Signerað heiltal, 8 Bit longd, Tvøttarkomplement -126 - 127
uint(24) uint32_t:24 Ósignað heiltal, 24 Bit longd 0 - 16.777.216

Festkomma-virðir

Føstkomma-vøttur eru tøl úr spektrinum av Rasjonellum tølum (Q), sum tí at teir hava eitt komma og eftirkomma-støttur.

Við føstkomma-vøttum er - tí eisini navnið - staðsetningin av kommanum fasta ásettur av datatypuni.
Hetta skapar eisini ein fasta tøl-øki fyri tøl av hesi datatypu; matematiskt úttalað er tøløkið endiliga.

I veruleikanum verður henda datatypa fyrst og fremst nýtt á pallsum uttan nóg mikið skjót fløttkomma-hardware-einheit, tí at útreikningur av føstkomma-vøttum kann verða gjørdur við integer-einheitum.

Eisini verður datatypan nýtt til dømis av databasustjórniskerðum, tá föst krøv mugu verða uppfylt.
Tú kanst hugsa um kerðir til varandi varðveiting av fíggjarupplysningum; flestu valuttir avmarka seg til 2 støttur eftir komman. (Men tað er ikki klokt at brúka føstkomma-vøttir til hetta; tað er betri at varðveita beinleiðis minstu valutta-einingina sum integer og lata restina av framsetingini vera)

Á sama hátt sum við integer-uppgávum, gevi eg fyri føstkomma-vøttum útlit av tølinum fyrir og eftir komman:
ufixed(9,7) merkir ein datatypu, sum er óskiljandi 9 bit fyri virðið fyri komman, og 7 bit fyri virðið eftir komman; tilsamans 16 bit breitt, og so til dømis sum ein vektor av tveimum óheftum integerum kann tað fevna um ein øki frá (0,0) til (511,127).
Henda túlkingin hevði tó í sínum desimalframseting 28 tøl óbrúkt, tí man helst hevði avmarkað seg til størst (511,99) í verkinum.

Í staðin fyri ein beinleiðis túkning av føstkomma-vøttinum sum ein vektor úr 2 separatum integerum - sum næstan altíð merkir ein óbrúkan dataøki tá tað verður umbrotið til desimaltøl og ein hondin flytning - kann í staðin eftirkomaøkið eisini verða túkt sum ein brøk av teirra tilsamans útlit.
Á dømi av tí, sum varð nevnt fyrr, ufixed(9,7), kemur so ein brøk yvir ein nevnara í høgd av 27 - tøløkini fara so frá 0,00 til 511 + 126127 At umbrota til eina desimalframseting, má eftirkoma-støttin tí verða deild við 128.
Við hesi variantini er lættari at gera útreikningar, tí at flytningurin kemur sjálvvirkandi, so henda variantin í flestum førum verður fyrimyndað.
Henda variantin hevur tó þann óvanliga, at eftirkoma-støttirnar í desimalframsetingini ikki meira hava ein tryggan útlit, so eina einstaka desimalstøtt ikki meira hevur virðið 0.01, men 0.007874, sum førir til tilhoyrandi rundingarbrestir.

Hvat túlkingsháttur verður nýttur, verður dokumenterað í samband við brúkingina.

Fleyskoma- ella Gleitkoma-virði

Fløtandi tölur eru matematisk meira komplexar útreikningar, har ein heiltal við fastari upplausn verður úttalaður yvir ein matematiskan term, so at parturin eftir komma verður myndaður við flyting - og ein vegur beinleiðis til vísindaligum skrivistíl.
Vanligasta háttin at gera hetta á, er standardiseraður við IEEE 754 og hevur síðan verið alheims viðurkendur.

Eitt fløtandi tal samansettur í vanligt førni av hesum komponentum:

Teikn (0 ella 1) Exponent Mantissa

Medan teiknið kann verða avdúkað sum binær ja/nej-informasjon, verður tað egna talið myndað yvir likningina
Mantissa * 2Exponent

Afturat hesum eru eisini ein røð av konstantum digitalum, sum fevna um serligar førir rationalar tal - millum annað ±∞ og NaN ("ikkje ein gyldig tala").

Fløtandi tölur eru serliga nyttugar, tá náttúran av nákvæmni ikki er so týdningarmikil, tí at tá er tað óhjákvæmileiki at koma at rundingarbrestum og tí ávísum nákvæmni-tapum. Typisk verða fløtandi tölur brúktar til dømi til at definera koordinatar, sum vertex-vektorar í 3D-modellum ella Bézier-/Spline-kurve til optiskar framstillingar.

I dataformátum verða fløtandi tölur spesifiseraðar sum float(Mantissa, Exponent).
Um ein format, sum avviker frá IEEE 754 verður brúkt, so verður tað sagt beinleiðis.