Mikä on kokonaisluvun ylivuoto

Elokuu 8, 2016 Valtteri Aaltonen 3 Näkymät 0 Kommentit
FONT SIZE :
fontsize_dec
fontsize_inc

Kokonaisluvun ylivuoto viittaa ilmiö, joka esiintyy eräillä tietokone tietotyyppejä jossa niiden merkkejä siirtyä positiivisesta negatiiviseksi, tai päinvastoin, kun he saavuttavat päät niiden sovellettavien valikoimat tietokone alueilla, kokonaisluku datatyyppien on pyöreä alueet, ja kun he saavuttavat toinen pää niiden valikoima, he välittömästi siirryttävä toiseen päähän niiden valikoima Tätä kutsutaan myös kokonaisluvun ylivuoto

Allekirjoitettu kokonaisluku mahtuu arvoalueella 231-1 Tämä kokonaisluku ei voi olla arvo 1; pikemminkin, seuraava numero se lisäyksin on toisessa päässä sen kantama: Muutos negatiivisesta positiiviseen lopussa sen alue on esimerkki kokonaisluvun ylivuoto Samoin, kokonaisluku ei voi olla arvoa 231; tämä arvo olisi sen sijaan siirtyä toiseen päähän sen valikoima ja tulla 231

Tämä ylivuoto on merkittäviä seurauksia ohjelmoitaessa array voi vain olla niin monta indeksit sitä kokonaisluku tyyppi sallii, ja negatiivisia indeksejä ei lasketa Jos ohjelmoija yrittää luoda array suurempi kuin kokonaisluku tyyppi mahdollistaa merkittäviä muisti voi esiintyä koska kokonaisluvun ylivuoto johtaisi negatiivinen indeksi Tämä on erityisen vaarallista kielillä, joilla ei ole nimenomaista rajojen tarkastusta varten paneelit, kuten C ++

Kun kokonaisluvun ylivuoto tapahtuu, liittyvät tyypit ylivuoto, kuten puskurin ylivuoto, pino ylivuoto, ja pinon ylivuoto voi esiintyä kaikissa näissä tapauksissa, kokonaisluvun ylivuoto toimii hukuttaa muistin rakenteita enemmän tietoja kuin rakenteet voidaan ajatella pitää Nämä ylivuotoja, vuonna yksinkertaisia ​​ohjelmia, eivät useinkaan tehdä paljon enemmän kuin aiheuttaa virheellinen luku- tai virheellinen kirjoitusvirhe manipulointi tämän ongelman hakkerit voivat kuitenkin insinööri muisti virheitä, jotka voivat aiheuttaa vakavampia ongelmia

Useimmissa yksinkertaisia ​​ohjelmia, kokonaisluvun ylivuoto ei ole suuri ongelma rajat kokonaislukutyyppiä ovat riittävän suuria, että ylivuoto ongelma ei kuvaan ellei paljon dataa käsitellään kerralla Joissakin tapauksissa ylivuoto voidaan lieventää, kuten tapauksessa monesko laskurit, käyttämällä suurempaa tietojen tyyppiä suurempaa suurempi tietotyyppi voisi teoriassa lopulta kohtaavat sama ylivuoto ongelma, mutta koska tiedot tyyppi vaihtelee saada suurempia, mahdollisuudet tehdä niin pienenevät Jokainen kokonaisluku tietotyyppi valikoima on vähintään kaksinkertainen seuraavaksi pienin, joten siellä on runsaasti tilaa lisätietoja

  0   0

Kommentit (0)

Ei kommentteja

Lisää Kommentti

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Merkkiä jäljellä: 3000
captcha