Datu mota osoa

Wikipedia(e)tik
Hona jo: nabigazioa, Bilatu

Datu mota osoa (integer bezala ezagutzen dena), konputazioan, zenbaki osoen azpimultzo finitoa adierazi dezaken datu mota da. Adierazi dezaken zenbakirik altuena, datuak erabiltzen den lekuaren areberakoa eta, zenbaki negatiboak adieraztea posiblea den ala ez. Erabil dezakegun datu mota osoak eta haien tamaina lengoairen eta arkitekturaren araberakoak dira. Adibidez, zenbaki osoak gordetzeko memorian 4 byteak baditugu:

4 Byteak = 4x8 = 32 bitak
32 bitekin 232=4294967296 balore adierazi daitezke:
  • Positiboak bakarrik (osoak zeinurik gabe): 0tik 4294967295ra
  • Positibo eta negatiboak (osoak zeinuarekin): -2147483648tik 2147483647ra

Eragiketak osoekin[aldatu | aldatu iturburu kodea]

Datu mota osoekin ohiko aritmetika eragiketak egin daitezke: batuketa, kenketa, biderketa eta zatiketa. Zatiketaren kasuan, emaitza balore erreal bat izan daiteke, kasua horrela bada, emaitza datu mota oso bezala adierazi nahi bada, atal hamartarra ezabatu beharko zaio. Bi metodo daude hau burutzeko:

  • Biribiltzea: Zenbaki oso gertuenera hurbildu (Adibidez: 3,8 --> 4 / 3,2 --> 3)
  • Trunkatzea: Atal hamartarra kendu (Adibidez: 3,8 --> 3 / 3,2 --> 3)

Datu mota osoekin egin daitekeen beste eragiketa ez ohiko bat, modulua izango litzateke, zatiketa oso baten hondarra:

184 zati 3 = 61 (hondarra 1) --> 184 modulu 3 = 1

Modulu eragiketak honako propietate hauek betetzen ditu:

a mod b = c
  • c ≥ 0
  • c < b
  • c, 0 bada --> a, b-ren multiploa da
  • c, 0 bada eta b berdin 2n (n 0 baino handiago edo txikiago den zenbaki osoa izanda) --> a (Bikoitia da)

Gainezkatzea (overflow)[aldatu | aldatu iturburu kodea]

Ordenagailu programa batek datu mota oso bati esleitu ez daiteken balorea (tartetik kanpo) esleitzen badio ( a=240 adibidez), gainezkatzea deritzon errorea agertuko da (overflow ingelesez). Hau gertatzen denean, normalean programa funtzionatzen jarraitzen du, baina baloreak 0 balioa hartuko du. Zenbakia negatibo bat datu mota oso positibo bati esleitzen bazaio, hau positibo bihurtuko da.

Ikus, gainera[aldatu | aldatu iturburu kodea]