30. Соб-2 Как установить бит в единицу в битовой маске? Как установить бит в ноль в битовой маске? Как получить значение определенного бита в битовой маске? Что такое ленивое вычисление выражения? Чем отличается использование && и & для типа boolean?
6. Як встановити біт в одиницю в бітовій масці?
Застосувати
бітовий оператор | (АБО) до маски, в яку потрібно внести
зміни, та маски із встановленою одиницею в потрібному біті.
Наприклад: int
mask = mask | 0010 0000.
0000 0110 (вихідна маска)
| 0010 0000 (маска з нулів з одиницею в
потрібному біті)
------------
0010 0110
7. Як встановити 0 в бітовій масці?
Застосувати
бітовий оператор & (І)
до маски, в яку потрібно встановити 0 і маски, в якій в потрібному біті
встановлено 0 і решту бітів займають одиниці.
Наприклад: int
mask = mask & 1011 1111.
0111 1100 (вихідна маска)
& 1011 1111 (маска з одиниць з нулем в потрібному місці)
------------
0011 1100
8. Як отримати значення певного біта в бітовій
масці?
Застосувати
бітовий оператор & (І) до вихідної маски і маски, в якій всі нулі і одиниця в місці
потрібного біта, результат порівняти з нулем.
Наприклад: Boolean
b = (mask & 1011 1111)
!= 0;
0111 1100 (вихідна маска)
& 0010 0000 (маска з нулів з одиницею в потрібному місці)
------------
0010 0000 (b = true, так як 00100000 != 0)
9. Що таке ліниве обчислення виразу?
Лінивим
називається таке обчислення виразу із застосуванням логічних операторів, в
якому обчислюються не всі вирази умови, якщо n-на кількість результатів обчислень
вже має вирішальне значення і умова виконається не залежно від решти обчислень
умови.
Наприклад:
int i = 0;
if(i==0 || j == 1 || k == 3); - виконається обчислення тільки і==0, так як цього достатньо для
виконання умови.
10. Чим відрізняється &&
i & для типу boolean?
& - побітове І, використовується, коли потрібно виконати всі обчислення
умови.
&& - логічне І, використовується, якщо можна застосувати ліниве
обчислення.
Коментарі
Дописати коментар