결론부터 말하자면 구하는 이진수를 0 -> 1로, 1 ->0으로 변경 후 마지막 끝 수에 1을 더한다.
예로 들어 이진수가 아래와 같을 때
int num1 = 0b1010_1101_0101_1101_1101_0110_1001_0010;
0을 1로, 1은 0으로 변경한다(이를 1에 대한 보수라고 한다) 그럼 아래와 같다.
0b0101_0010_1010_0010_0010_1001_0110_1101;
구한 보수에 마지막에 1을 더한다. 1을 더한 후의 결과는 아래와 같다.
int num2 = 0b0101_0010_1010_0010_0010_1001_0110_1110;
확인을 위해 num1 + num2가 0으로 출력되는지 확인해보자. 0으로 출력되면 보수를 잘 구한 것이다.
System.out.println(num1 + num2);
'Edu > 18. Language: Java' 카테고리의 다른 글
변수명 규칙: $와 _ (0) | 2021.12.12 |
---|---|
반복문: while, do while (0) | 2021.12.09 |
조건문: if, switch (0) | 2021.12.09 |
반복문: for, foreach문 (0) | 2021.12.09 |
삼항연산자 (0) | 2021.12.08 |