Рекомендуємо, 2024

Вибір Редакції

Різниця між int і long

Типи даних int і long відносяться до двох цілих типів даних, описаних в Java. У Java, типи int і long підписуються, + ve і -ve значення. Java не підтримує типи без підписів int і long. Принципова відмінність між типом int та long є шириною кожного типу. Тип даних int має ширину 32-бітного для змінної типу int. З іншого боку, довгий тип даних має ширину 64-бітного для змінної довгого типу. Наведена нижче таблиця порівняння показує деякі інші відмінності між int та long.

Діаграма порівняння

Основа для порівнянняintдовго
ОсновнийТип даних int має 32-біт.Тип даних довгий - 64-біт.
БайтиЯкщо рахувати в байтах, int - 4 байти.Якщо розраховувати в байтах, то довжина становить 8 байт.
ДіапазонУ Java діапазон типу int становить –2, 147, 483, 648 до 2, 147, 483, 647.У Java діапазон типу long є
–9, 223, 372, 036, 854, 775, 808 до 9, 223, 372, 036, 854, 775, 807.
Ключове словоКлючовим словом, що використовується для оголошення змінної типу int, є "int".Ключове слово, яке використовується для оголошення змінної довгого типу, - "long".
Пам'ятьПам'ять, необхідна для зберігання змінної int, менше, ніж довга.Пам'ять, необхідна для зберігання довгої змінної, більша в порівнянні з int.

Визначення типу int

Тип даних int є найбільш часто використовуваним типом даних, який містить ціле число. Значення, яке може містити змінна int, не надто коротке і не надто довге. Як правило, значення змінної int використовується як змінна циклу, яка керує циклом, або використовується як змінна індексу масиву. Байт типу даних і короткі мають менший діапазон у порівнянні з типом даних int, але вони не можуть замінити int, навіть якщо значення змінної int має менший діапазон. Причиною цього є те, що коли ми використовуємо байт типу даних і короткий у виразі, то під час оцінки того, що вираз тип байта даних і короткий просуваються до int компілятором. Отже, з цього, можна сказати, що краще використовувати int, де потрібне ціле число.
Давайте подивимося на використання типу dat dat.

 байт a = 70; байт b = 80; int c = a * b; // немає помилки. байт d = a + 10; // Помилка часу компіляції. 

Як можна спостерігати в наведеному вище коді два, байтові змінні a і b містять значення 70 і 80, які є допустимими значенням байта. Але, проміжний результат a * b; перевищує межу байта. Таким чином, компілятор автоматично просуває змінні байта, короткі і char, щоб ввести int, якщо вони використовуються у виразі. Тепер, ви можете бачити, що результат * b присвоюється змінної int, яка не викликає помилок і компілюється плавно, оскільки змінні a і b просуваються до типу int і присвоєння типу int типу int doesn '. t викликати помилку.

У останньому рядку коду можна побачити вираз, де значення 10 додано до змінної байта 'a' його результат ще не перевищував межі байта. Але, призначення проміжного результату виразу "a + 10" до змінної байта 'd', викликає помилку часу компіляції, тому що в той час як змінна байта 'a' вираження оцінки висувається до типу int. Призначення типу int байтам типу не допускається. Отже, це викликає помилку компіляції.

Визначення довгого типу

Тип даних довгий має найбільший діапазон і ширину в порівнянні з типами байтів, коротких і int. У Java тип довгий - це 64-бітний тип цілого цілого. Тип long використовується, коли тип int не такий великий, щоб утримувати бажане значення. Діапазон довгих - 9, 223, 372, 036, 854, 775, 808 до 9, 223, 372, 036, 854, 775, 807, який є досить великим, щоб утримувати великі значення, як великі цілі числа. Ми можемо зрозуміти тип довго з прикладом нижче.

 клас ваги {public static void main (String args []) {int елемент; int wt_per_item; довгі грами; довга коробка; item = 10000000; // вказуємо кількість елементів wt_per_item = 10000; // вказати вагу одного елемента в кілограмах грамів = wt_item * 1000; // конвертувати вагу в грам Box = item * grams; // обчислити вагу вікна в грамах System.out.println ("Номер елемента" + елемент); System.out.println ("Вага на елемент" + wt_per_item + "кілограм"); System.out.println ("Вага коробки в грамі" + Box + "кг"); }} Кількість пункту 10000000 Вага на елемент 10000 кг Вага коробки в грамі 100000000000000 кілограмів 

Спостерігайте вивід у коді вище; результат, розрахований для ваги всієї упаковки, що містить ящик, що містить 10000000 найменувань, з яких на одиницю ваги 10000 кілограмів. Обчислене значення ваги коробки в грамах не може бути збережено за допомогою змінної int. Отже, іноді стає необхідно використовувати довгий тип, коли великі значення повинні обчислюватися або утримуватися.

Ключові відмінності між int і long

  1. Основна відмінність між типом int і long - їх ширина, де int - 32 біт, а long - 64 біта.
  2. Типи int і long, коли їх обчислюють у байтах замість бітів, тип int становить 4 байти, а тип long - це лише двічі, якщо тип int, тобто 8 байтів.
  3. В Java діапазон типу int становить від –2, 147, 483, 648 до 2, 147, 483, 647, тоді як діапазон типу long - від –9, 223, 372, 036, 854, 775, 808 до 9, 223, 372, 036, 854, 775, 807, що набагато більше, ніж тип int.
  4. Ключове слово, яке використовується для оголошення змінної типу int, - це "int". З іншого боку, ключове слово, яке використовується для оголошення змінної типу long, є "long".
  5. Як правило, пам'ять, необхідна для утримання значення типу int, менше, ніж довга.

Висновок:

При написанні коду, якщо існує потреба у значенні середнього діапазону, ви можете використовувати тип int, але коли вихід, вироблений будь-яким виразом, буде більшим, або більші значення будуть використовуватися для обчислення, тоді довгу змінну типу слід використовувати для утримання значення.

Top