Nettips.dk Websted
Forum start Forum start > Tips til... > Software og hardware
  Aktive emner Aktive emner RSS Feed - Integers i java
  FAQ FAQ  Søg i forum   Begivenheder   Opret ny bruger Opret ny bruger  Log ind Log ind

Integers i java

 Besvar Besvar
Forfatter
Besked
Guests Se drop down
Guest Group
Guest Group
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér Guests Citér  BesvarSvar Direkte Link til dette Indlæg Emne: Integers i java
    Sendt: 10 Sep 2011 kl. 13:53
Hej, der var en der fortalte mig at java ville crashe hvis man fx lagde to integers sammen der overstiger 4bytes, men jeg ved dette ikke er tilfældet og har prøvet at skrive et lille blogindlæg for at finde ud af detaljerne.

Da jeg ikke har kunnet finde noget dokumentation på mine gætterier, vil jeg meget gerne have lidt repons på om min teori er rigtig...


Mvh Niclas
Shocked
Til top
Kavjik Se drop down
Entusiastisk
Entusiastisk
Avatar

Medlem siden: 15 Okt 2007
Status: Offline
Point: 1569
Indlæg funktioner Indlæg funktioner   Tak (0) Tak(0)   Citér Kavjik Citér  BesvarSvar Direkte Link til dette Indlæg Sendt: 11 Sep 2011 kl. 19:27
Se her:

En integer kan holde en værdi fra -2^31 til 2^31-1, dvs. heltalsværdier fra fra -2147483648 til 2147483647.

Så du har ret, da en byte kan holde 2^8 forskellige tal, så 4 bytes kan holde 2^32 tal, hvilket er ud over grænsen for integers. 

Hvis du rent faktisk vil lægge 2 tal sammen af den størrelse, så brug long. Se: http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

Jeg ved ikke hvordan Java opfører sig når man prøver at lægge 2 tal af den størrelse sammen, den konverterer det muligvis selv til en long. (Ligesom den selv konverterer fra int til double eller float hvis man ganger med en kommatal.)

Edit:
Jeg har læst dit blog-indlæg, og det der sker er et Integer overflow.
Den let forståelige udgave: http://xkcd.com/571/
Ganske normalt inden for de fleste programmeringssprog, basis set så glemmer den de sidste cifre, når du når ud over grænsen for hvor stort et tal kan være. 


Redigeret af Kavjik - 11 Sep 2011 kl. 19:34
http://webbies.dk/blog
Følg mig med RSS
Til top
 Besvar Besvar
  Del emne   

Skift forum Forum tilladelser Se drop down

Forum Software by Web Wiz Forums® version 11.10
Copyright ©2001-2017 Web Wiz Ltd.

Denne side blev genereret på 0.093 sekunder.