728x90
반응형
본 게시글은 실전 기술을 정리해 놓은 '실전 압축' 입니다.
C 스타일
변환 | 함수 | 변환 모습 | 설명 |
문자열 -> 숫자 | #incldue<cstdlib> (stdlib.h) 정수형 atoi, atol, atoll 실수형 atof int atoi (const char* str); |
"4" -> 4 "123" -> 123 |
문자열을 숫자로 변환해준다. 다른 형으로는 atof, atol, atoll 이 있다. |
숫자 -> 문자열 | #incldue<cstdlib> (stdlib.h) char * itoa ( int value, char * str, int base ); |
5 -> "5" 123 -> "123" |
value를 base진법으로 변환하여 str에 저장 비표준 함수이기 때문에 MS VS 에서만 가능 표준 호환 대안은 sprintf 일 수 있습니다 .
|
C++
변환 | 함수 | 변환 모습 | 설명 |
문자열 -> 숫자 | #include<string> 정수형 stoi, stol, stoul, stoll, stoull 실수형 stof, stod, stold int stoi( const string& str, size_t* idx = 0, int base = 10) float stof(const string& str, size_t* idx = 0) |
"4" -> 4 "123" -> 123 |
str을 base 진수로 취급하여 정수로 변환 idx는 정수가 아닌 것이 등장하는 인덱스 stoi("32a", idx) idx = 2 디폴트 파라미터 때문에 stoi(const string& str) 까지만 써도 됨 주의 string n1 = "1010"; int a = stoi(n1, nullptr, 2); a : 10 이렇게 되는거임 C++ 11 버전 이상 사용 가능 |
숫자 -> 문자열 | #include<string> string to_string(자료형) 자료형은 다음과 같다. int long long long unsigned unsigned long unsigned long long float double long double |
5 -> "5" 123 -> "123" 1.23 -> "1.23" |
C++ 11 버전 이상 사용 가능 |
편법 - 알고리즘을 풀 때 유용하게 많이 사용됩니다.
변환 | 방법 | 변환 모습 |
문자 -> 숫자 | 문자 - '0' | char a = '4'; int b = a - '0'; b : 4 |
숫자 -> 문자 | 숫자 + '0' | int a = 5; char b = a + '0'; b : '5' |
10진법을 2진법으로 출력
#include<bitset>
int a = 128;
cout << bitset<8>(a);
output : 00001010
itoa와 착각하기 쉬운 것
iota 함수
value값에서 시작하여 ++value를 반복하여 얻어지는 값으로 주어진 범위[first, last)를 채운다.
#include <numeric>
template<class ForwardIterator, class T>
void iota(ForwardIterator first, ForwardIterator last, T value);
반응형
'C++ > 알고리즘' 카테고리의 다른 글
C++ 정렬 알고리즘 (버블정렬, 삽입정렬, 선택정렬, 합병정렬, 퀵정렬, 힙정렬, 셀정렬, 기수정렬) (0) | 2019.10.22 |
---|---|
[실전 압축 알고리즘] - 실수형을 특정 소수점 까지 출력 (0) | 2019.10.18 |
[실전 압축 알고리즘] - 비트 연산 (0) | 2019.10.18 |
[실전 압축 알고리즘] - C++ 입출력 (0) | 2019.08.24 |
[실전 압축 알고리즘] - 시간, 공간 복잡도 (0) | 2019.08.24 |