Арифметичні операції. Порозрядні операції
Арифметичні операції в Java
Арифметичні операції в Java дозволяють виконувати базові математичні обчислення, такі як додавання, віднімання, множення, ділення та знаходження остачі. Всі ці операції підтримуються для примітивних числових типів, таких як `int`, double, float, long тощо.
Основні арифметичні оператори:
1. Додавання (`+`):
- Використовується для додавання двох чисел.
- Також може бути використаний для конкатенації рядків.
int sum = 10 + 5; // 15
String result = “Java ” + “Programming”; // “Java Programming”
2. Віднімання (`-`):
- Використовується для віднімання одного числа від іншого.
int difference = 10 – 5; // 5
3. Множення (`*`):
- Використовується для множення двох чисел.
int product = 10 * 5; // 50
4. Ділення (`/`):
- Використовується для ділення одного числа на інше. Для цілих чисел результатом буде ціла частина від ділення, а для чисел із плаваючою точкою результатом буде дробове число.
int quotient = 10 / 3; // 3
double exactQuotient = 10.0 / 3.0; // 3.333…
5. Залишок від ділення (`%`):
- Використовується для отримання залишку від ділення.
int remainder = 10 % 3; // 1
Приклад арифметичних операцій:
public class Main {
public static void main(String[] args) {
int a = 15;
int b = 4;
System.out.println(“Додавання: ” + (a + b)); // 19
System.out.println(“Віднімання: ” + (a – b)); // 11
System.out.println(“Множення: ” + (a * b)); // 60
System.out.println(“Ділення: ” + (a / b)); // 3 (ціла частина)
System.out.println(“Остача: ” + (a % b)); // 3
}
}
Порозрядні операції в Java
Порозрядні операції працюють безпосередньо на двійковому представленні чисел. Ці операції можуть виконуватися тільки над цілими числами (byte, short, int, long). Порозрядні операції маніпулюють окремими бітами числа.
Основні порозрядні оператори:
1. Порозрядне І (`&`):
- Операція І повертає 1, якщо обидва біти рівні 1, і 0 — в іншому випадку.
int result = 5 & 3; // 0101 & 0011 = 0001 (результат 1)
2. Порозрядне АБО (`|`):
- Операція АБО повертає 1, якщо хоча б один із бітів рівний 1.
int result = 5 | 3; // 0101 | 0011 = 0111 (результат 7)
3. Порозрядне виключне АБО (XOR) (`^`):
- Повертає 1, якщо біти різні, і 0, якщо однакові.
int result = 5 ^ 3; // 0101 ^ 0011 = 0110 (результат 6)
4. Порозрядне заперечення (`~`):
- Інвертує всі біти (замінює 0 на 1 і навпаки).
int result = ~5; // ~0101 = 1010 (результат -6 у двійковій формі)
5. Зсув вліво (`<<`):
- Зсуває біти числа вліво на вказану кількість позицій. При цьому вільні біти заповнюються нулями.
int result = 5 << 2; // 0101 << 2 = 010100 (результат 20)
6. Зсув вправо з заповненням знака (`>>`):
- Зсуває біти числа вправо на вказану кількість позицій. Для позитивних чисел вільні біти заповнюються нулями, для від’ємних — одиницями.
int result = 5 >> 1; // 0101 >> 1 = 0010 (результат 2)
7. Зсув вправо без заповнення знака (`>>>`):
- Зсуває біти вправо, заповнюючи вільні біти нулями незалежно від знака.
int result = -5 >>> 1; // Для від’ємних чисел результат буде великим позитивним числом
Приклад порозрядних операцій:
public class Main {
public static void main(String[] args) {
int a = 5; // 0101
int b = 3; // 0011
System.out.println(“Порозрядне І: ” + (a & b)); // 1
System.out.println(“Порозрядне АБО: ” + (a | b)); // 7
System.out.println(“Порозрядне виключне АБО: ” + (a ^ b)); // 6
System.out.println(“Порозрядне заперечення: ” + (~a)); // -6
System.out.println(“Зсув вліво: ” + (a << 2)); // 20
System.out.println(“Зсув вправо: ” + (a >> 1)); // 2
}
}
Підсумок:
- Арифметичні операції використовуються для стандартних математичних обчислень, таких як додавання, віднімання, множення, ділення і знаходження остачі.
- Порозрядні операції працюють на рівні бітів і дозволяють виконувати операції над двійковими представленнями чисел, такі як І, АБО, XOR та зсуви.