Домашнє завдання до уроку №29: 1) Створити дві цілочисельні змінні зі значеннями 5 і 10. 2) Використати побітові операції &, ^, | та вивести результат в консоль. Написати 5 і 10 у бінарній системі числення у коментарі. Пояснити отримані результати. 3) З другою змінною виконати всі операції побітового зсуву на 1, 2, 3 та 4. Рекомендую для лівого та правого побітових зсувів на 1 та 2 самостійно розрахувати значення, а потім дивитися на результат.
Дякую! 2) 5 = 0101; 10 = 1010; 5 & 10 - в даному випадку результат буде 0, тому що порівняння кожного біту буде давати результат false, так як в кожному порівнянні є 0; 5 ^ 10 - результат буде 15, як я розумію операція є оберненою до &; 5 | 10 - результат буде 15, тому що в кожному порівнянні є одиничка і результатом будуть всі true;
Дякую за коментар і за виявлену потребу в більш розгорнутому поясненні оператора побітового зсуву вправо без знаку (>>>). Дійсно, цей оператор може бути трохи складним для розуміння. Оператор побітового зсуву праворуч (>>>) виконує зсув бітів числа праворуч , при цьому заповнюючи відповідні позиції нулями. Це відрізняє його від інших операторів побітового зсуву, які заповнюють відповідні позиції знаковим бітом числа (тобто тим числом, яке було на позиції до початку зсуву). stackoverflow.com/a/2811399
Домашнє завдання до уроку №29:
1) Створити дві цілочисельні змінні зі значеннями 5 і 10.
2) Використати побітові операції &, ^, | та вивести результат в консоль. Написати 5 і 10 у бінарній системі числення у коментарі. Пояснити отримані результати.
3) З другою змінною виконати всі операції побітового зсуву на 1, 2, 3 та 4. Рекомендую для лівого та правого побітових зсувів на 1 та 2 самостійно розрахувати значення, а потім дивитися на результат.
Дуже класно не думав що таке можна вивчити на українській. Лайк❤
Дякую!
2) 5 = 0101;
10 = 1010;
5 & 10 - в даному випадку результат буде 0, тому що порівняння кожного біту буде давати результат false, так як в кожному порівнянні є 0;
5 ^ 10 - результат буде 15, як я розумію операція є оберненою до &;
5 | 10 - результат буде 15, тому що в кожному порівнянні є одиничка і результатом будуть всі true;
Привіт!
Так, все вірно :)
@@dmytroup немає зараз можливості кодити, і поки навіть не здогадуюсь, коли буде
з останнім оператором здалось би трохи більш розлого (>>>) чи наочно
Дякую за коментар і за виявлену потребу в більш розгорнутому поясненні оператора побітового зсуву вправо без знаку (>>>). Дійсно, цей оператор може бути трохи складним для розуміння.
Оператор побітового зсуву праворуч (>>>) виконує зсув бітів числа праворуч , при цьому заповнюючи відповідні позиції нулями. Це відрізняє його від інших операторів побітового зсуву, які заповнюють відповідні позиції знаковим бітом числа (тобто тим числом, яке було на позиції до початку зсуву).
stackoverflow.com/a/2811399
наприклад int = -1 print(Integer.toBinaryString(i)) і виходить 32 одиниці ... дякую
Так, дякую за додавання прикладу :)