부호 없는 수, 부호 없는 수를 형 변환하거나 형 확장시에 매우 주의해야 된다. 문자열 관련 처리를 하는 과정에서 각각의 1바이트 char형 문자들을 계산하기 편하게 4바이트로 확장시켜서 연산을 하는데 의도하지 않았던 결과가 나와서 디버그해보니 그동안 형 변환에 대해 좀 착각해왔음을 알 수 있었다. char a = 0xB1; // ( 128보다 크므로 실제로는 음수값이다.) unsinged int b = (unsigned int)a; 혹은 unsinged int b = a; 여기서 b에는 0xB1이 아니라 0xFFFFFFB1 값이 들어간다. 일단 int형으로 변환을 먼저 시킨 후 unsigned로 변환하는 듯 하다. 위에서 b에 0xB1 값을 대입하고자 하는 목적인 경우에는 unsigned int b =..