-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
실제로 저장 될때는 다르게 저장이 되는거죠?
23.11.24 23:32 작성 조회수 182
1
강의에서는 가독성 때문에 0000_0101이렇게 설명을 해주셨는데
예를들어 int i =5; 라는 값이 저장이 될때는 4바이트니까
32비트를 사용하기에
0000_0000_0000_0000_0000_0000_0000_0101
이렇게 되는게 맞나요?
그리고 만약 -5라면 2의 보수 취해주고 1을 더해준값
1111_1111_1111_1111_1111_1111_1111_1011
제가 생각한게 맞을까요???
답변을 작성해보세요.
2
Soobak
2023.11.25
안녕하세요, 답변 도우미 Soobak 입니다.
해당 강의의 26:40 부분 경에 대한 질문이시군요!
옳게 이해하고 계십니다.
int i = 5;
를 32
비트 시스템에서 저장할 때, 해당 값은 32
비트의 공간을 사용하여 저장됩니다.
이 경우에는 0000 0000 0000 0000 0000 0000 0000 0101
로 표현됩니다.
앞의 28
비트는 모두 0
으로 채워져 있습니다.
음수에 대해서도 올바르게 이해하고 계십니다.
예를 들어, -5
의 경우, 먼저 5
의 이진 표현 0000 0000 0000 0000 0000 0000 0000 0101
을 반전시킨 다음, 1111 1111 1111 1111 1111 1111 1111 1010
여기에 1
을 더하여 최종적으로 1111 1111 1111 1111 1111 1111 1111 1011
이 됩니다.
답변 1