Różnica między int i long

Autor: Laura McKinney
Data Utworzenia: 1 Kwiecień 2021
Data Aktualizacji: 11 Móc 2024
Anonim
Różnica między int i long - Technologia
Różnica między int i long - Technologia

Zawartość


Typy danych int i long należą do dwóch typów danych całkowitych opisanych w Javie. W Javie podpisywane są typy int i long, wartości + ve i -ve. Java nie obsługuje typów int i długich bez znaku. Podstawową różnicą między int i długim typem danych jest szerokość każdego typu. Typ danych int ma szerokość 32-bitową dla zmiennej typu int. Z drugiej strony typ danych long ma szerokość 64-bitową dla zmiennej typu long. Poniższa tabela porównawcza pokazuje inne różnice między int i long.

  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaint długie
PodstawowyTyp danych int ma 32 bity.Długi typ danych to 64 bity.
BajtówJeśli liczony jest w bajtach, int to 4 bajty.Jeśli jest liczony w bajtach, długi to 8 bajtów.
ZasięgW Javie zakres typu int wynosi –2 147 483 648 do 2 147 483 647.W Javie zakres typu long wynosi
–9,223,372,036,854,775,808 do 9 223,372,036,854,775,807.
Słowo kluczoweSłowo kluczowe użyte do zadeklarowania zmiennej typu int to „int”.Słowo kluczowe użyte do zadeklarowania zmiennej typu długiego to „long”.
PamięćPamięć wymagana do przechowywania zmiennej int jest mniejsza w porównaniu do długiej.Pamięć wymagana do przechowywania długiej zmiennej jest większa w porównaniu z int.


Definicja typu int

Typ danych int jest najczęściej używanym typem danych, który zawiera w sobie wartość całkowitą. Wartość, którą może przechowywać zmienna int, nie jest za krótka ani za długa. Zasadniczo wartość zmiennej int jest używana jako zmienna pętli, która kontroluje pętlę, lub jest używana jako zmienna indeksowa tablicy. Typ danych bajt i krótki mają krótszy zakres w porównaniu z typem danych int, ale nie mogą zastąpić int, nawet jeśli wartość zmiennej int ma krótszy zakres. Powodem tego jest to, że gdy w wyrażeniu używamy bajtu i skrótu typu danych, to podczas oceny tego wyrażenia bajt i skrót typu danych są promowane przez kompilator na int. Z tego wynika, że ​​lepiej jest używać int wszędzie tam, gdzie potrzebna jest liczba całkowita.
Rzućmy okiem na użycie typu danych int.

bajt a = 70; bajt b = 80; int c = a * b; //żaden błąd. bajt d = a + 10; // Błąd czasu kompilacji.

Jak widać w powyższym kodzie, dwie, bajtowe zmienne a i b zawierające wartości 70 i 80, która jest prawidłową wartością o zasięgu bajtowym. Ale pośredni wynik a * b; przekracza limit bajtu. Dlatego kompilator automatycznie promuje zmienne bajtowe, krótkie i char do wpisania int, jeśli są one używane w wyrażeniu. Teraz możesz zobaczyć, że wynik a * b jest przypisany do zmiennej int, która nie powoduje żadnego błędu i kompiluje się płynnie, ponieważ zmienne aib są awansowane na typ int, a przypisanie typu int do typu int nie powoduje spowodować błąd.


W ostatnim wierszu kodu widać wyrażenie, w którym wartość 10 jest dodawana do zmiennej bajtowej „a”, a jej wynik nadal nie przekracza limitu bajtu. Jednak przypisanie pośredniego wyniku wyrażenia „a + 10” do zmiennej bajtowej „d” powoduje błąd czasu kompilacji, ponieważ podczas gdy zmienna bajtowa oceny wyrażenia „a” jest promowana do typu int. Przypisanie typu int do typu bajt jest niedozwolone. Powoduje to błąd czasu kompilacji.

Definicja typu długiego

Typ danych długi ma największy zakres i szerokość w porównaniu do typów bajtowych, krótkich i całkowitych. W Javie typ długi to 64-bitowa liczba całkowita ze znakiem. Typ długi jest używany, gdy typ int nie jest tak duży, aby pomieścić żądaną wartość. Zakres długości wynosi –9,223,372,036,854,775,808 do 9 223 372,036,854,775,807, co jest dość duży, aby pomieścić większe wartości, takie jak duże liczby całkowite. Długo możemy zrozumieć typ na poniższym przykładzie.

class weight {public static void main (String args) {int item; int wt_per_item; długie gramy; długie pudełko; pozycja = 10000000; // podaj liczbę elementów wt_per_item = 10000; // podaj wagę jednego przedmiotu w kilogramach = wt_item * 1000; // przelicz wagę na gram Box = item * gram; // obliczyć wagę pudełka w gramach System.out.ln („Number of item” + item); System.out.ln („Waga na sztukę” + wt_per_item + „kilogramy”); System.out.ln („Waga pudełka w gramach” + pudełko + „kilogramy”); }} Liczba sztuk 10000000 Waga jednej sztuki 10000 kilogramów Waga kartonu w gramach 100000000000000 kilogramów

Obserwuj dane wyjściowe w powyższym kodzie; wynik obliczony dla masy całego pudełka zawierającego pudełko zawierające 10000000 sztuk, z których każda na sztukę waży 10000 kilogramów. Obliczona wartość masy pudełka w gramach nie może być utrzymywana przez zmienną int. Dlatego czasami konieczne jest użycie długiego typu, gdy duże wartości mają być obliczone lub wstrzymane.

  1. Podstawowa różnica między typem int i długim polega na ich szerokości, gdzie int wynosi 32 bity, a długi to 64 bity.
  2. Typy int i long, gdy są liczone w bajtach zamiast bitów, typ int to 4 bajty, a typ long jest tylko dwa razy, jeśli wpisz int, tj. 8 bajtów.
  3. W Javie zakres typu int wynosi od -2 147 483 648 do 2 147 483 647, podczas gdy zakres typu long wynosi od -9 223 372,036,854,775,808 do 9 223 372 036 854 775 807, co jest znacznie większe niż typ int.
  4. Słowo kluczowe użyte do deklaracji zmiennej typu int to „int”. Z drugiej strony słowo kluczowe użyte do zadeklarowania zmiennej typu long to „long”.
  5. Zasadniczo pamięć wymagana do przechowywania wartości typu int jest mniejsza w porównaniu do długiej.

Wniosek:

Pisząc kod, jeśli potrzebna jest wartość średniego zakresu, można użyć typu int, ale gdy dane wyjściowe wygenerowane przez dowolne wyrażenie będą większe lub do obliczeń zostaną użyte większe wartości, należy użyć zmiennej typu długiego wartości.