본문 바로가기
algorithm/공부

[C/C++]char형 int형으로 변환

by eunsoa 2023. 4. 11.

Char형

- C언어에서 Char형은 character의 줄임말로 기본적으로 문자를 저장할 떄 사용되는 자료형이ㅏㄷ.

- 해당하는 문자의 ASCII코드의 값이 정수로 저장되어 있다.

 

ASCII코드

- 위의 표는 아스키 코드 테이블로, 48번 부터 숫자 0-9를 할당하고 있다는 것을 알 수 있다.

- 위에서 말했듯이 Char 변수형은 이러한 아스키 코드값을 정수 형태로 저장하므로, 사칙연산이 가능하다.

 

Char형 숫자를 int형으로 변환하는 방법

- 숫자의 아스키값은 48번 부터 0-9를 할당하고 있으므로, char형 '1'은 정수값 49를 가진다.

- 따라서 0의 아스키값인 48을 char형의 값에서 빼주면 순수한 숫자를 얻어낼 수 있다.

 

char c = '1';
int n = c - 48;
//n=1

- 위와 같은 코드는 정상적으로 작동은 하지만, 가독성면에서는 좋지 않을 수 있다.왜냐하면 다른 개발자들이 봤을 때, 48이라는 숫자가 어디서 나온건지 이해하지 못할 수 있기 때문.

-아래와 같이 작성하면 보다 직관성있는 코드 작성가능.

char c = '1';
int n =c -'0';
// n =1