KomputilojInformadiko

Reprezento de nombroj en komputilo. Reprezento de entjeroj kaj realaj nombroj en la komputila memoro

Iu ajn kiu iam ajn pensis en mia vivo, ke por iĝi la "avantaĝoj" aŭ sistemo administranto, aŭ simple ligi la amaso kun komputilo teknologio, scio pri kiel la reprezento de numeroj en la komputilo memoro, estas absolute necesa. Ja surbaze tiu malalta nivelo programlingvoj kiel ekzemple Assembler. Sekve, hodiaŭ ni konsideras la reprezento de numeroj en la komputilo kaj metante ilin en la memoro ĉeloj.

skribmaniero

Se vi estas leganta ĉi tiun artikolon, Vi verŝajne jam scias pri ĝi, sed valoras ripeti. Ĉiuj datumoj en persona komputilo estas konservataj en la duuma nombrosistemo. Tio signifas, ke iu nombro vi devas submetiĝi la konvenan formon, kiu estas formita de nuloj kaj aĵoj.

Por kopii kutimaj por ni decimalaj numeroj al formo komprenebla komputilo, vi devas uzi la algoritmo priskribita sube. Estas ankaŭ specialigitaj kalkuliloj.

Do, por meti la numeron en la duuma sistemo, vi devas preni niajn elektita valoro kaj dividu ĝin per 2. Post tio, ni akiras la rezulton kaj la cetero (0 aŭ 1). Rezulto 2 denove dividi kaj parkerigi restaĵo. Tiu procedo devus esti ripetita dum la rezulto ankaŭ estos 0 aŭ 1. Tiam skribi la fina valoro kaj la restaĵoj en la inversa ordo, kiel ni ricevis ilin.

Jen precize, kio okazas en la komputila prezento de nombroj. Ajna nombro stokita en binara formo, kaj tiam preni la memoro ĉelo.

memoro

Kiel vi jam scias la minimuma informo unuo estas 1 iom. Kiel ni vidis, la reprezento de ciferoj en la komputilo okazas en duuma formato. Tiel, ĉiu bito de la memoro estas okupita per unu valoro de - 1 aŭ 0.

Por stokado de grandaj nombroj uzita ĉelo. Ĉiu unuo enhavas 8 bitoj de informoj. Sekve, oni povas konkludi, ke la minimuma valoro en ĉiu memoro segmento povas esti 1 aŭ esti ok bajtoj duumaj nombro.

tutaj

Fine ni atingis la rekta lokigo de datumoj en komputilo. Kiel menciis, la unua afero la procesoron tradukas la informon en binara formato, kaj nur tiam asignas la memoro.

Ni komencu per la plej simpla opcio, kiu estas la reprezento de entjeroj en la komputilo. PC memoro estas asignita por la procezo estas ridinde malgranda nombro de ĉeloj - nur unu. Tiel, maksimume unu fendo povas esti valoro de 0 al 11111111. Ni traduki la maksimuma nombro de elementoj en la kutima formo.
X = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 1 × 2 8 - 1 = 255 .

Nun ni vidas, ke en unu memoro ĉelo povas meti de 0 al 255. Tamen, ĉi tiu aplikas nur al ne-negativa entjero. Se la komputilo bezonos registri negativa valoro, ĉio iras iom malsame.

negativaj nombroj

Nun ni vidu kiel la reprezento de ciferoj en la komputilon, se ili estas negativaj. Por skribi valoron kiu estas malpli ol nulo, asignita du memoro ĉeloj, aŭ 16 bitoj de informoj. Tiel la 15 iras sub la nombro mem, kaj la unua (plej maldekstra) iom estas donita per la responda marko.

Se la figuro estas negativa, ĝi estas registrita, "1", se pozitiva, do "0". Por facileco de memorado, vi povas tiri la jenajn analogion: se la signo estas, tiam metu 1 se ĝi ne estas, tiam nenio (0).

La ceteraj 15 bitoj de informo estas atribuitaj kelkajn. Simile al la antaŭa kazo, Vi povas meti maksimume dek kvin unuoj en ili. Estas notinde ke la eniro de negativaj kaj pozitivaj nombroj estas signife malsamaj de unu la alian.

Por akomodi la 2 memoro ĉeloj estas pli granda ol nulo aŭ egalaj al, la tiel nomata rekta kodo. Tiu operacio estas farita en la sama maniero kiel priskribita supre, kaj la maksimuma A = 32766, uzinte dekuma nombrosistemo. Nur volas noti, ke en ĉi tiu kazo, "0" rilatas al la pozitiva.

ekzemploj

Reprezento de entjeroj en komputila memoro estas ne tia malfacila tasko. Kvankam ĝi estas iom pli komplika kiam temas negativa valoro. Registri la nombro de kiuj estas malpli ol nulo, ankaŭ per iu kodo.

Por ricevi ĝin, la maŝino produktas kelkajn helpa operacioj.

  1. Unua registrita modulo de negativa nombro en duuma notacio. Tio estas, la komputilo memoras similan sed pozitiva.
  2. Tiam, memoro inversiganta ĉiu iom. Por tiu celo, ĉiuj unuoj estas anstataŭitaj de nuloj kaj inverse.
  3. Ni aldonu "1" al la rezulto. Tiu estos la aldona kodo.

Jen viglan ekzemplon. Supozu ni havas kelkajn X = - 131. Unue, akiri la modulo | X | = 131 tiam estas konvertita en binara sistemo kaj rekordon de 16 ĉeloj. Ni akiras X = 0000000010000011. Post inversiganta X = 1111111101111100. Aldono de gxia valoro "1" kaj akiri la inversa kodo X = 1111111101111101. Por la registrado de 16 bitoj memoro ĉelo estas la minimuma nombro de X = - (2 15) = - 32767.

sopiras

Ĝi kiel povas vidi, la reprezento de reelaj nombroj en komputila ne estas tiel malfacila. Tamen, diskuto de la gamo eble ne estas sufiĉa por la plimulto operacioj. Sekve, por akomodi grandan numeron de komputilo asignas memoron ĉelo 4, aŭ 32 bitoj.

La procezo de registrado ne diferencas de tiu prezentita supre. Do ni nur donos al vico da nombroj kiuj povas stoki en ĉi tiu tipo.

X max = 2,147,483,647.

X minutoj = - 2147483648.

Datumoj valoroj plejofte sufiĉas por registri kaj fari operaciojn sur la datumoj.

Reprezento de reelaj nombroj en komputila havas sian avantaĝojn kaj malavantaĝojn. Unuflanke, ĉi tiu metodo faciligante plenumi operacioj inter la entjera valoroj, kiuj ege akcelas la procesoron. Aliflanke, ĉi tiu gamo ne sufiĉas por solvi la plej problemoj en ekonomiko, fiziko, aritmetiko kaj aliaj sciencoj. Do nun ni rigardu alian metodon por sverhvelichin.

flosanta punkto

Tio estas la lasta afero kiun vi bezonas scii pri la reprezentado de nombroj en komputilo. Ekde estas problemo determini la pozicion de punkto en ili, al akomodi tiaj nombroj en komputila uzita de la formo exponencial kiam skribanta frakcioj.

Ajna nombro povas esti prezentita en la sekva formo X p = m * n. Kie m - estas la nombro de mantiso, p - radix kaj n - la ordo nombro.

Por normigi la registradon glitpunktaj nombroj uzataj jenaj kondiĉo, laŭ kiu la mantiso modulo estu pli granda ol aŭ egala al 1 / n kaj malpli ol 1.

Ni nombro 666,66 estas donita. Ni donos al la formo exponencial. En x = 0.66666 * 10an de marto. P = 10 kaj n = 3.

La stokado de flosanta punkto valoroj kutime asignita 4 aŭ 8 bajtoj (32 bitoj aŭ 64). En la unua kazo oni nomas la nombro de unu-precizeco, dum la dua - duobla precizeco.

De la 4 bajtoj asignita por la stokado de nombroj, 1 (8 bitoj) donita sub en la procedo datumoj kaj lia signo kaj 3 bajtoj (24 bitoj) por stoki la mantiso lasi lian markon kaj sur la samajn principojn kiel por la entjero valorojn. Sciante tion, ni povas fari iun simplan kalkuloj.

La maksimuma valoro de n = 2 1111111 127 = 10. Laŭ ĝi, oni povas akiri la maksimuman kvanton de nombroj kiuj povas esti stokita en komputilo memoro. X = 2127. Nun ni povas kalkuli la maksimuman eblan mantiso. Estos egala al 2 23 - 1 ≥ 2 23 = 2 (10 × 2,3) ≥ 1000 2.3 = 10 (3 × 2,3) ≥ 10 7a. Rezulte, ni ricevi proksimuman valoron.

Nun, se oni kombinas ambaŭ de la ŝtono, ni preni la valoron kiu povas stoki sen perdo de 4 bajtoj da memoro. Estos egala al X = 1.701411 * 10 38. La ceteraj ciferoj estas forĵetita, ĉar ĝi permesas havi precizecon de la metodo de registrado.

duobla precizeco

Pro tio ke ĉiuj kalkuloj estis pentrita kaj klarigita en la antaŭa alineo, ĉi tie ni diras al vi ĉiuj tre baldaŭ. Por duobla precizeco nombroj estas kutime asignita 11 bitoj por la ordo kaj lia signo kaj ankaŭ 53 bitoj por la mantiso.

1111111111 n = 2 1023 = 10.

M = 52 -1 = 2 2 (10 * 5.2) = 1000 5.2 = 10 15,6 . Rondigita kaj akiri la maksimuma nombro = 2 X 1023 ĝis "m".

Ni esperas la informo pri la reprezento de entjeroj kaj realaj nombroj en la komputilo, ni havigis, ĝi estas utila al vi en trejnado kaj estos iom pli klara ol estas kutime skribita en la lernolibroj.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 eo.atomiyme.com. Theme powered by WordPress.