Бинарное отрицание ~a
Кто-нибудь может объяснить (мне :) ), почему строчки
int a = 1010;
int b = ~a;
System.out.println(" int a = " + a);
System.out.println(" int ~a = " + b);
Дают результат
int ~a = -1011
А не ожидаемый мной результат
int ~a = 0101
?
Источник: Stack Overflow на русском