반응형
Char 형 int 형으로 변환하기
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
반응형
'Development > C & C++' 카테고리의 다른 글
[C++ / STL] String 대문자, 소문자화 하는법 (0) | 2021.07.17 |
---|---|
[C++ / STL] String 공백 제거 하는 방법 (0) | 2021.07.17 |
[C++ / STL] String 공백 포함 입력 받는 방법 (0) | 2021.07.17 |
[C++/MFC] LNK2019 _ main 외부 기호를 확인하지 못했습니다. 해결법 (0) | 2020.09.15 |
[C/C++] int 형 문자열로 변환하는법 총정리 (0) | 2020.01.23 |