int main(){
long a = -246;
int b = -5;
int c = a | b;
}
Приведенный выше код будет иметь эту комбинацию битов:
a = 1111111111111111111111111111111111111111111111111111111100001010
b = 11111111111111111111111111111011
c = 11111111111111111111111111111011
Так что, если работает между двумя различными битами, выбирается меньший бит, а оставшиеся биты отбрасываются? Т.е. 0s
не ставится слева от b
, чтобы соответствовать счету битов a
?