자료형 unsigned나 signed의 구체적 의미를 알고싶습니다

fhdaos10의 이미지

그리고 unsigned나 signed를 integer형으로 변환한다는 것은 무슨 의미인가요?

snowall의 이미지

signed는 부호가 있는 숫자고, unsigned는 부호가 없는 숫자입니다. 부호가 없는쪽이 더 넓은 범위를 나타낼 수 있지만, 양수만 다를 수 있죠.

그걸 integer로 바꾼다는건, 글쎄요...
signed integer와 unsigned insteger 사이에서 바꾼다는 질문도 아닐거고, signed double을 signed integer로 바꾼다는 질문도 아닌것 같고...

피할 수 있을때 즐겨라! http://melotopia.net/b

hyunya77의 이미지

질문의 구체적인 의미를 알고싶어집니다. ^^; (딴지는 아니구요)
signed와 unsigned는 compiler가 pre-processing을 할 때 의미가 있다고 알고있습니다.
예를 들어

unsigned int i;
if (i < 0) ...

위와 같은 코드는 의미가 없죠. unsigned에 음수가 존재할리 없으니까.
아시다시피 8, 16, 32 bit length의 변수들(C 기준으로 char, short int, int..)에는 모두 signed, unsigned type이 존재합니다.
맨 앞비트(MSB)의 1을 compiler가 어떤 의미로 해석하느냐의 차이이죠. (음수의 의미 혹은 더 큰 양수의 의미)

casting(형변환) 한다는 말은, 크게 같은 length의 변수끼리의 casting이 있고 다른 length 또는 type 간의 casting이 있을 수 있습니다.
(object type casting은 이란 논외로합니다)