: : c로 숙제가 있는데 막히는부분이 있어서 질문할께요.
: :
: : char변수가 1byte로 나타내어지는거라서
: :
: : char temp = 0xb4;
: :
: : printf("%c, %d", temp, (int)temp);
: :
: : 실행하면 앞은 깨지고, 뒤는 -76이나오는데요.
: :
: : 깨지는건 상관안하더라두, -76은 제가 원하는게 아니거든요? 제가 원하는건 0xb4 = 180 인
: : 데...
: : char로 저장되어있는 수를 unsigned로 생각해서 255전까지 integer값으로 나타낼수있는 방법
: : 이 뭐있을까요?
: : 도와주십시요. 꾸벅~
:
: 해보지 않아서 정확히는 자신이 없지만,
: printf("%c, %d", temp, (unsigned int)temp);
: 이렇게하면 되지 않을 까요?
:
: 근데 char은 8비트니까
: -128 ~ 127까지니까 위의 결과는 맞는 것 같군요.
: 물론 정확한 숫자는 계산을 안해서 모르겠구요.
(unsigned int)temp
와 같이해도 않되거든요 ㅠ.ㅠ 정말 왜그런거죠? 저도 당연히 그런줄알고 만만히봤다가
뒤통수 맞았네요. 도와주세요..