음수의 산술변환! 질문이요 ㅠㅠ...
꽃여름
질문 제목 :음수의 산술변환밑에 내용이 이해가 안가요 ㅠ... 질문 내용 :제가 어떤 글을 읽어보는 도중에 산술변환중에 음수의 산술변환은
음수인 경우는 조금 다르다. 0xff(-1)를 2바이트로 확장하면 0x00ff가 되는 것이 아니라 0xffff가 된다. 이렇게 해야 부호와 값이 그대로 유지된다. 0xff나 0xffff나 둘 다 왜 -1이 되는지는 2의 보수법을 연구해 보면 알 수 있다. 간단히 설명하자면 0xff+1=0x00이고 0xffff+1=0x0000이다. 그러니까 둘 다 -1이 아닌가.
이런글이 있던데... 아무리 봐도 이해가 안가더라고요 .... oxff는 2진법으로하면 1111 1111인데... (-1), -1이라고 되있고..
첫번째 0xff가 음수라는 거에 일단 이해가 안되고요 ㅠㅠ....
두번째 0xff하고 oxffff가 왜 똑같은 건지이해가 안되요 ..
세번째로
0xff+1=0x00이고 0xffff+1=0x0000 여기서
1111 1111 +1이면 = 1 0000 0000 이 되고
1111 1111 1111 1111 +1이면 = 1 0000 0000 0000 0000 이 되야될것같은데... 또 0이라고 되있고요 ㅠㅠ...??
-
귀1여운렩 2025-05-21
1111 1111 을 양수로 바꾸려면 1을 빼고 1111 1110 반전을 시켜서(1의 보수) 0000 0001 이되니까
-1 이네요 !!.. -
Glisten 2025-05-21
2의 보수법 안찾아 보셨군요.
-
해사랑해 2025-05-21
그러면 oxff는 2진수로 1111 1111이니까 - 15+16*7=-127이 되는건가요 ??...
-
큰말 2025-05-21
10진수 -1이라는 말입니다.
첫비트(하이 비트)가 1이면 음수죠.
기초는 여기저기 굴러다니는 글 말고
책 사셔서 제대로 공부하세요.