작성
·
439
·
수정됨
1
예를 들어 8비트 2진수
1010 1110 이 있을 때
컴퓨터가 어떻게 맨 앞 비트가 부호비트인지 아닌지 아는 것인가요?
양수 174가 될수도 있고 음수 -46이 될 수 있는데 컴퓨터가 어떻게 그것을 구분하는 것인지 궁금합니다..
답변 1
1
안녕하세요, 답변 도우미 Soobak 입니다.
C
언어에서 부호 있는 정수(signed integers)와 부호 없는 정수(unsigned integers)를 구분하는 방법은,
변수의 자료형과 선언에 달려있습니다.
예를 들어, C
언어에서 변수를 선언하실 때 int
또는 signed int
는 부호 있는 정수를, unsigned int
는 부호 없는 정수를 나타냅니다.
이러한 변수의 선언에 따라서 컴파일러는 해당 데이터를 적절히 해석하고 처리하게 됩니다.
예를 들어, int
혹은 signed int
등으로 선언된 변수는, '부호 있는 정수' 이므로,
부호비트로 사용되는 맨 앞 비트가 0
이면 양수, 1
이면 음수로 해석합니다.
unsigned int
등으로 선언된 변수는, '부호 없는 정수' 이므로,
모든 비트가 값의 크기를 나타냅니다.
혹시, 이해가 안되시거나 어려운 점이 있으시다면 편하게 댓글 남겨주시면 감사하겠습니다.
정말 감사합니다!