Community

비트연산관련 질문입니다.

우연히 비트관련해서 끄적이다 발견했습니다. 먼저 0x8000을 2바이트 short(golang에서는 int16)형 변수에 16진수 0x8000(앞에 형변환 넣었습니다.)을 할당 하면 제가 원한 결과인 -32768가 아닌 컴파일러에서는 양수로 인식이 되고 런타임(디버깅 모드, 브레이크 포인트잡고)에선 원하는 결과인 -32768이 반환되는데요 혹시 어떤 이유에서 컴파일러는 오류라 판단하는 건가요? 2의 보수에 의해 이런 결과가 나오는 건가요?

Loading...

알림

알림이 없습니다