오늘은 데이터 형변환에 관련된 이야기를 추가로 해보려 한다. 먼저 아래 코드를 보자. 1 unsigned short val = -1; cs 이것은 정상일까 에러일까? 정답은 정상코드이다. 개발자의 흔한 오해중 하나가 unsigned 라는 단어를 보면 음수는 절대로 들어갈 수 없다고 생각한다는 것이다. 사실 음수는 변환 과정이 필요한 것 뿐이지 별다른 의미를 품고 있지는 않다. (음수 변환 과정에 대해서는 2의 보수 방법(bit 반전 후 더하기 1) 참조) 따라서 위의 코드는 val에 0xFFFF가 담겨 있는 의미로 해석된다. 그럼 아래 코드를 살펴보자 1 2 unsigned short val = -1; signed short val2 = -1; cs val과 val2 모두 -1이 들어있다. 이 값은 같은..