• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

실제로 저장 될때는 다르게 저장이 되는거죠?

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

제가 생각한게 맞을까요???

 

 

답변 1

답변을 작성해보세요.

2

Soobak님의 프로필

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 이 됩니다.

유동근님의 프로필

유동근

질문자

2023.11.25

예아 감사합니다 좋은하루되세요~ㅎ