Anbefalt, 2024

Redaksjonens

Forskjellen mellom int og lang

Datatypene int og lange er blant de to heltalldatatypene som er beskrevet i Java. I Java er typene int og lange signert, + ve og -ve verdier. Java støtter ikke usignerte int og lange typer. Den grunnleggende forskjellen mellom en int og lang datatype er bredden på hver type. Datatypen int har en bredde på 32-bit for variabelen av int type. På den annen side har datatypen lang bredden på 64-bit for variabelen av lang type. Sammenligningsskjemaet nedenfor viser noen andre forskjeller mellom int og lang.

Sammenligningstabel

Grunnlag for sammenligningintlang
grunn~~POS=TRUNCDatatypen int er 32-bits.Datatypen lang er 64-bits.
bytesHvis talt i byte, er int 4 byte.Hvis talt i byte, er lang 8 byte.
OmrådeI Java er rekkevidden av type int -2.147.483.648 til 2.147.483.647.I Java er rekkevidden av typen lang
-9, 223, 372, 036, 854, 775, 808 til 9, 223, 372, 036, 854, 775, 807.
søkeordSøkeord som brukes til å erklære en variabel av int type er "int".Søkeord som brukes til å erklære en variabel av lang type er "lang".
HukommelseMinne som kreves for å lagre en int-variabel, er mindre enn i lang tid.Minne som kreves for å lagre en lang variabel er større i forhold til int.

Definisjon av int type

En datatype int er en mest brukte datatype som inneholder en heltall i den. En verdi som en int-variabel kan holde, er ikke for kort og ikke for lang. Vanligvis brukes verdien av en int-variabel som en loop-variabel som styrer sløyfen, eller den brukes som en indeksvariabel for en matrise. Datatypen byte og kort har kortere rekkevidde sammenlignet med datatype int, men de kan ikke erstatte int, selv om verdien av en int-variabel er av kortere rekkevidde. Årsaken bak dette er at når vi bruker datatype byte og kort i et uttrykk så vurderes det uttrykket datatype byte og kort til kompilatoren. Så fra dette kan det sies at det er bedre å bruke int hvor et heltall er nødvendig.
La oss ta en titt på bruken av int datatype.

 byte a = 70; byte b = 80; int c = a * b; // ingen feil. byte d = a + 10; // Kompilere tidsfeil. 

Som du kan observere i overkode, inneholder de to byte-variablene a og b som inneholder verdi 70 og 80, som er gyldig byte-verdi. Men det mellomliggende resultatet av a * b; overgår grensen til byten. Derfor fremmer kompilatoren automatisk byte, korte og char variabler for å skrive int, hvis de brukes i et uttrykk. Nå kan du se at resultatet av en * b er tilordnet en int-variabel som ikke forårsaker noen feil og kompilerer jevnt fordi variablene a og b blir promotert til typen int og tildeling av type int til typen int gjør ikke ' Ikke forårsake feilen.

I den siste kodelinjen kan du se et uttrykk, hvor verdien 10 legges til en byte-variabel 'a', har resultatet fortsatt ikke overskritt grensen for byten. Men tildelingen av mellomresultatet av uttrykket "a + 10" til byte-variabelen "d", forårsaker en kompileringstidsfeil fordi mens uttrykksevalueringsbyte-variabelen 'a' fremmes til typen int. Og tildeling av type int til type byte er ikke tillatt. Derfor forårsaker det en kompileringstidsfeil.

Definisjon av lang type

Datatypen lang har det største rekkevidde og bredde i forhold til byte, kort og intetyper. I Java er typen lang 64-bit signert heltalltype. Typen lang brukes der typen int er ikke så stor til å holde ønsket verdi. Langsområdet er -9.223.372.036.854.775.808 til 9.223.372.036.854.775.807, som er ganske stort, for å holde de større verdiene som store hele tall. Vi kan forstå typen lang med et eksempel nedenfor.

 klassen vekt {offentlig statisk tomrom main (String args []) {int item; int wt_per_item; lang gram; lang boks; vare = 10000000; // angi antall elementer wt_per_item = 10000; // spesifiser vekten av ett element i kilo gram = wt_item * 1000; // konverter vekt til gram boks = element * gram; // beregne vekten av boksen i gram System.out.println ("Antall element" + element); System.out.println ("Vekt per element" + wt_per_item + "kilo"); System.out.println ("Vekt av boks i gram" + Boks + "kilo"); }} Antall vare 10000000 Vekt pr. Gjenstand 10000 kilo Vekt av boks i gram 100000000000000 kilo 

Vær oppmerksom på utgangen i overkoden; Resultatet beregnes for vekten av hele boksen som inneholder boks som inneholder 10000000 varer, av hvilke hver enkelt gjenstand veier 10000 kilo. Beregnet verdi for vekten av boksen i gram, kan ikke holdes av en int-variabel. Derfor blir det noen ganger nødvendig å bruke lang type når store verdier skal beregnes eller holdes.

Nøkkelforskjeller mellom int og lang

  1. Den grunnleggende forskjellen mellom typen int og lang er av bredden der int er 32 bit, og lang er 64 bit.
  2. Typerne int og lange når de teltes i byte i stedet for biter, type int er 4 byte og typen lang er bare to ganger hvis type int dvs. 8 byte.
  3. I Java er rekkevidden av type int fra -2, 147, 483, 648 til 2, 147, 483, 647, mens rekkevidden av typen lang er fra -9.223.372.036.854.775.808 til 9.223.372.036.854.775.807 som er meget mye større enn type int.
  4. Søkeordet som brukes til å erklære en variabel av typen int er "int". På den annen side er søkeordet som brukes til å erklære variabelen av typen lang, "lang".
  5. Vanligvis er minnet som kreves for å holde verdien av type int, mindre sammenlignet med lang.

Konklusjon:

Mens du skriver kode hvis det er behov for mellomstoreverdier, kan du bruke typen int, men når produksjonen som produseres av et hvilket som helst uttrykk vil bli større, eller de større verdiene blir brukt til beregning, må den lange typen variabelen brukes til å holde verdiene.

Top