Ad argvmentvm transi
Topos Uranos

Svmmarivm

Haec lectio secvndam cvrsvs partem clavdit, datis eorvmqve generibvs dicatam. Catenam notionvm restitvit qvae a variabili ad constantem qvam compilator cvstodit pertinet, per repraesentationem binariam nvmerorvm integrorvm eorvmqve dvas exvndationes, nvmeros reales approximatos et tolerantiam, characteres vt codices et conversiones qvae informationem amittvnt transiens; separat qvid ex his omnibvs in qvalibet lingva valeat ab eo qvod C++ proprivm est; colligit modvm agendi indefinitvm partis, cvm eo qvod compilator detegit, qvod detector detegit et qvod nemo detegit; in probatione finali facvltates probationis initialis repetit; et sex provocationibvs finitvr qvae totam partem conivngvnt.

Proposita discendi

  1. Genvs cvivsqve dati problematis eligere et ivstificare secvndvm valores qvos accipere potest, accvratiam qvam postvlat et operationes qvae in eo fient.
  2. Effectvs finivm repraesentationis in programmate dato praevidere: exvndationem nvmerorvm integrorvm, rotvndationem virgvlae flvitantis et iactvram informationis in conversione.
  3. Constantibvs nominatis et conversionibvs explicitis vti, et explicare qvid compilator qvoqve casv verificet.
  4. Modvm agendi indefinitvm partis agnoscere et dicere, pro qvoqve casv, qvid evm detegat et qvomodo praeveniatvr.
  5. In eis qvae in parte didicimvs separare qvid in qvalibet lingva valeat ab eo qvod C++ proprivm est.

Qvae vnitas consecvta est

Pars sibi proposvit docere omne datvm in memoria vivere cvm genere qvod definit qvos valores accipere possit, qvantvm spatii occvpet et qvas operationes admittat, et hos fines conseqventias observabiles habere. Propositvm impletvm est innixvm tantvm eis qvae introdvctio pro cognitis habvit: cvrsv compilandi et exseqvendi cvm optionibvs cvrsvs, exitv formato, lectvra per std::cin et lectvra nvntiorvm compilatoris. Programma qvattvor compvtationvm qvo introdvctio problema posvit nvnc versv per versvm explicari potest, et corrigi.

Variabiles et memoria

Lectio Variabiles et memoria statvit variabilem esse cellam memoriae cvm nomine, genere fixo et valore qvi mvtatvr, et genvs magnitvdinem eivs definire, qvam sizeof metitvr. Initialisationem ab assignatione distinxit, ostendit vncos cvrvos conversionem cvm iactvra reicere, et docvit assignationem exscribere, non ligare, et valorem svbstitvtvm amitti, vnde seqvitvr variabilis avxiliaris permvtationis. Statvm programmatis definivit vt copiam valorvm variabilivm eivs et docvit evm tabvla vestigii perseqvi. Conventiones nominvm fixit et cvm primo modo agendi indefinito partis conclvsit: lectvra variabilis qvae nvmqvam valorem accepit.

Nvmeri integri eorvmqve repraesentatio

Lectio Nvmeri integri eorvmqve repraesentatio notationem positionalem in basibvs 10, 2 et 16 docvit. Ex eo qvod genvs nn bit habet spativm valorvm eivs dedvxit: 2n2^n dispositiones, qvae sine signo repraesentant a 00 ad 2n−12^n - 1 et cvm signo, in complemento ad dvo, a −2n−1-2^{n-1} ad 2n−1−12^{n-1} - 1, cvm vno negativo plvs qvam positivis. Dvas exvndationes distinxit: eam integrorvm sine signo, qvae est arithmetica modvlo 2n2^n et definita est (0u - 1 valet 4 294 967 2954\,294\,967\,295), et eam integrorvm cvm signo, qvae est modvs agendi indefinitvs et qvam detector sistit. Ostendit comparationem integri cvm signo cvm integro sine signo priorem convertere, ita vt −1<0u-1 < 0u falsvm sit, et criterio finivit qvo genvs integrvm secvndvm spativm valorvm dati praevisibile eligitvr.

Nvmeri virgvlae flvitantis

Lectio Nvmeri virgvlae flvitantis ostendit nvmervm realem servari vt signvm, exponentem et mantissam binariam, ita vt valores repraesentabiles sint copia finita nvmerorvm rationalivm qvorvm denominator potentia nvmeri 2 est. Inde secvtvm est 0.10.1 in machina non exsistere: eivs loco servatvr valor double proximvs, et 0.1 + 0.2 scribitvr 0.30000000000000004. Lectio errorem cvivsqve rotvndationis terminavit, ostendit errores accvmvlari et svmmam associativam esse desinere; vnde dedvxit dvos nvmeros reales compvtatos non per == comparari, sed per distantiam svam, cvm tolerantia ivstificata. double vt genvs reale praedefinitvm fixit, et infinitvm et valorem non nvmericvm, NaN, praesentavit.

Characteres, valores Booleani, conversiones et constantes

Lectio Characteres, valores Booleani, conversiones et constantes ostendit genvs esse regvlam bit legendi: char octetvm servat cvivs valor est codex ASCII characteris, et qvia digiti et litterae codices consecvtivos habent, '7' - '0' valet 7; bool vervm avt falsvm est, et qvilibet nvmervs a nihilo diversvs in vervm convertitvr. Conversiones implicitas consideravit et statvit conversionem intra operationem fieri, secvndvm genvs operandorvm, non cvm eventvs servatvr: double r{7 / 2} valet 3. Docvit conversionem volitam per static_cast scribere, qvod iactvram non vitat, sed declarat; accvrate dixit vncos cvrvos angvstationem reicere, et tertivm modvm agendi indefinitvm partis ostendit, conversionem in integrvm nvmeri realis qvi non capitvr. Cvm constantibvs (const, constexpr et static_assert), genere litteralivm et auto conclvsit.