30. Соб. Что такое NaN? Как получить бесконечность в Java? Как проверить, что в результате вычисления получилась бесконечность? Что такое битовая маска? Где применяют битовые маски?
1. Що таке NaN?
NaN (англ. Not a Number) – числовий тип даних, який
встановлюється для «не чисел» (невизначеного результату математичної операції).
NaN зазвичай
позначає невизначений результат недійсної операції (наприклад 0/0) та нерепрезентативних
значень (н-д операція отримання квадратного кореня з від’ємного числа).
У Java цей стандарт реалізують числові типи
з рухомою крапкою double, float. Класи-обгортки цих типів містять константи Double.NaN I Float.NaN відповідно.
В Java також отримується при:
-
Будь-якій
операції, де є NaN;
-
Конвертації
числа з рядка, в якому є літери;
-
Нескінченність
мінус нескінченність;
-
Плюс/мінус
нескінченність поділити на плюс/мінус нескінченність;
-
Плюс/мінус
нескінченність помножити на нуль.
2. Як отримати нескінченність в Java?
Щоб отримати
нескінченність, можна використати константи типу Double:
Double.POSITIVE_INFINITY;
Double.Negative_INFINITY;
А також при
операціях:
-
Ділення
будь-якого числа з плаваючою крапкою відмінного від нуля на нуль;
-
Множення
плюс/мінус нескінченності на плюс/мінус нескінченність;
-
Суми
двох нескінченностей.
3. Як перевірити, що в результаті обчислень
утворилась безкінечність?
Вивести
результат операції в консоль, використовуючи System.out.println()
4. Що таке
бітова маска?
Бітова маска
– це ціле число, двійковий вигляд якого зберігає масив даних, наприклад бульових
значень. Наприклад, число 7 в двійковому вигляді 1101 зберігає
значення істини (true) в нульовому, другому та третьому бітах, і значення хиби (false) – у першому біті.
5. Де
застосовують бітові маски?
Бітові маски
застосовують там, де потрібно зберегти великий обсяг інформації в мінімально
можливій кількості бітів (IP-адреси, дескриптори файлів).
Наприклад:
збереження інформації про обліковий запис користувача в змінній типу int. Int може містити 32 біти інформації.
Перші вісім можна відвести для збереження логічної інформації: чи активний
обліковий запис? Чи акаунт є преміум? Решту 24 біти можна перетворити в три
символи, які будуть ідентифікувати користувача.
Коментарі
Дописати коментар