스크립트 언어(Python)으로 코딩 맛좀 보고, Java 시작한 잼민이입니다. 진수를 배우는데 궁금한 것이 있어서 여쭈어봅니다. 원래는 대충 넘어갔는데 이해할 필요성이 있다고 느껴져서 다시 보는데 오랜만에 기억을 되살리자니 가물가물합니다. 이 원리 좀 설명해주시면 감사하겠습니다. 00000101(2)를 음의 정수로 표현하는 예시로 들겠습니다.
00000101과 자릿수만 서로 더했을 때 11111111이 되는 숫자를 먼저 구합니다.
그럼 11111010이겠죠.
00000101
11111010
=
11111111이거니까요
여기서 11111010 에 1을 더해줍니다 11111011(2)이게 즉 앞서 말한 예시 수의 음의 정수란는데 이렇게 구하는 원리가 무엇인가요. 뭐 보수 쓰는 것 같은데 정확하게 이해가 안갑니다.
그리고 11111011이 왜 -5로도 해석할 수 있고, 251로도 표현될 수 있는건가요? 이렇게 표현되는 기준이 뭔가요? 최상위 비트가 1이면 무조건 음의 정수가 아닌가요? 좋은 설명 부탁드립니다