Побітові оператори повинні подорожувати змінні та оперувати ними побітно. У випадку цілих чисел, довгих, знаків це має сенс. Ці змінні можуть містити повний діапазон значень, накладених на їх розмір.
Що стосується булевих, то булевий може містити лише два значення. 1 = вірно або 0 = хибно. Але розмір булева не визначений. Він може бути великим, як байт або маленьким трохи.
Отже, який ефект від використання розрядного оператора на булевому? По суті, JVM переводить його на звичайний логічний оператор і рухається далі? Чи розглядає це булеве значення як єдине розрядне ціле з метою операції? Або результат не визначений разом із розміром булевого?