void binary2(int num) { // 음수를 이진수로 변환하는 함수
int i = 0; // 반복문에 사용할 변수 선언 및 초기화
num++; // 입력받은 음수에 1을 더함
num *= -1; // 양수로 변환
while (num > 0) { // 양수를 이진수로 변환하는 과정과 동일
bin[i] = num % 2;
num /= 2;
i++;
}
for (i = 31; i >= 0; i--) { // 배열을 거꾸로 출력하면서 보수를 취함
printf("%d", !(bin[i])); // 보수를 취한 이진수 출력
}
}
이해는 안가는데 실행해보니까 답은 맞게 나오는데 뭐지
1더하기 1이 왜 2냐고 물어볼 놈이네
진지하게 이해가 안감
원래 비트 반전시키고 1더해야 맞는거 아님? 미리 더해도 괜찮은거?
a = b + 1는 맞는데 a - 1 = b는 틀리겟니