Quid est quid? · bei.pm

Hic textus per OpenAI GPT-4o Mini automatice translatus est.

In hac sectione articuli de formatis fasciculorum et ingenio reverso sunt.

Nunc res ita se habet:
Multae linguae programmandi foris sunt et multi homines quaedam sub nomibus prorsus diversis norunt - aut omnino nihil sciunt de existentia rerum fundamentalium, quia lingua eorum programmandi ea abstracte ab ipsis removet.

tl;dr:
Notatio mea ad C99 <stdint.h> vulgariter orientatur. Qui hanc notationem intellegere potest, cum notatione mea bene congruere poterit.

Integer

Integer sunt simpliciter dicenda numeri integri, id est, numeri sine parte decimalis.

Integra in formatis datorum plerumque intra certum numerorum spectrum, quasi resolutionem, definita sunt. Hanc in Bitis indicabo - quod "Byte" et genera ex eo dependentia (Word, Qword, ...) plerumque a platforma dependunt.

Insuper inter typa integrorum etiam distinguitur inter numeros naturales (ℕ, id est, sine signo - Unsigned) et numeros integros (ℤ, id est, cum signo - Signed).
Haec informatio per signum in nominatore (u vel s) est evidens.

Fieri potest ut signo affixi numeri integri veluti complementum unius represententur aut ut complementum duo.
Dum aliter non indicatur, complementum duo adhibetur, cum in moderna informatica praefertur representatio sit.

Numeri sine signo a me in documentis meis ut uint indicantur, cum sequenti indicatione praecisionis in Bits.
Numeri cum signo a me in documentis meis ut sint indicantur, etiam cum sequenti indicatione praecisionis in Bits.

Usum generis datae "char" pro signis omitto, cum signorum catenae plerumque tantum integerum valorum catenae cum speciali interpretatione repraesentent.
Haec ergo ut uint(8)[] repraesentantur.

Exempla:

Notatio Equivalens C99 stdint.h Descriptio Numerorum Spatium
uint(16) uint16_t Integer Non Signatum, Longitudo 16 Bit 0 - 65.535
sint(8) int8_t Integer Signatum, Longitudo 8 Bit, Complementum Duo -126 - 127
uint(24) uint32_t:24 Integer Non Signatum, Longitudo 24 Bit 0 - 16.777.216

Valores comma fixi

Valorum fixorum sunt numeri ex spectrum Numerorum rationalium (Q), qui igitur commate et decimalibus praediti sunt.

In valoribus fixis - unde etiam nomen - locus commatis per genus datum fixus est.
Itaque oritur etiam spatium numerorum definitum pro numeris huius generis; mathematically expressum, spatium numerorum finitum est.

In re, hic genus datum praecipue in suggestis sine satis celeribus unitatibus hardware fluitantium adhibetur, quia computatio valorum fixorum per unitates integer fieri potest.

Genus datum etiam a systematibus administrationis datorum adhibetur, cum postulata fixa implenda sunt.
Considerandum est hic ad systemata ad conservationem permanentem datorum financialium; plerique currency ad duo decima loca se limitant. (Non tamen sapienti est ad hanc rem valores fixos adhibere; sapientiorem est, potius minimam monetariam unitatem ut integer servare et reliquam representationis partem relinquere)

Analogice ad specificationes integer, in valoribus fixis resolutionem numeri ante et post comma indicabo:
ufixed(9,7) significat genus datum, quod sine signo 9 bit pro valore ante commate, et 7 bit pro valore post commate reservat; in summa igitur 16 bit latum est et ita, exempli gratia, ut vector duorum inter se independens integer spatium (0,0) ad (511,127) operire potest.
Haec interpretatio tamen in sua decimalis representatione 28 numeros inanis consumet, quoniam verisimiliter ad summam (511,99) in usu se limitaret.

Pro directa interpretatione valoris fixi ut vector ex 2 integer separatis - quod fere semper spatium inane in conversione in numeros decimales et manuum translatio significat - potius pars decimalis interpretari potest ut fractio totius eius resolutionis.
Exempli gratia, in dictis ufixed(9,7) oritur ita fractio per denominatorem 27 - spatium numerorum itaque ab 0,00 ad 511 + 126127 Ad conversionem in representationem decimalem, ergo decima pars per 128 dividenda est.
Hac varietate facilius operationes mathematicas perfici possunt, quia translatio automatice oritur, unde haec varietas in omnibus fere praeferenda est.
Haec autem varietas incommodo habet, quod decimae partes in representatione decimalis non amplius certa resolutione praeditae sunt, una decima pars ergo non amplius aequivalent 0.01, sed 0.007874, quod ad errores rotundationis pertinentes ducet.

Quae interpretatio adhibetur, ad locum usus documentatur.

Valorum fluitantium sive levium

Valores fluitantes sunt expressiones mathematicas complexiores, quibus numerus integer cum resolutione fixa per terminum mathematicum ita exprimitur, ut pars decimalis per translationem efficaciter formetur - atque ita directe ad notationem scientificam orientetur.
Modus usitatus ad hoc efficiendum cum IEEE 754 standardizatus est et ab eo tempore internationaliter agnitus est.

Valor fluitans plerumque e sequentibus componentibus consistit:

Signum (0 aut 1) Exponent Mantissa

Dum signum ut informatio binaria I/Non facile elici potest, ipsa numerus per aequationem formatur
Mantissa * 2Exponent

Adhuc sunt plures constantes valores, qui casus speciales numerorum rationalium tegunt - inter quos ±∞ et NaN ("nulla numerus valida").

Valores fluitantes praesertim utiles sunt, cum accuratio non ita magna sit, cum in hac genere valorum necessario ad errores rotundationis et ita ad perditiones accurate veniatur. Typice, valores fluitantes ad definitionem coordinatarum, ut vectores vertex in exemplaribus 3D aut curvas Bézier/Spline ad fines repraesentationis opticae adhibentur.

In formatis datorum valores fluitantes ut float(Mantissa, Exponent) specificantur.
Si formatum ab IEEE 754 discrepet, id congruenter indicatur.