실무에서는 쓸 일이 없지만, 알고리즘 대회나 심심풀이 용으로 적합한 진법 변환.
기억 상기를 위해 예시 2개만 작성.
- 2진법
#include <vector>
#include <algorithm>
#include <string>
string BinarySystem(int num){
string make_base = "";
for(int i = num; i > 0; ){
make_base = to_string(i % 2) + make_base;
i /= 2;
}
return make_base;
}
int main(){
//생략
return 0;
}
- 3진법
#include <vector>
#include <algorithm>
#include <string>
string TernarySystem(int num){
string make_base = "";
for(int i = num; i > 0; ){
make_base = to_string(i % 3) + make_base;
i /= 3;
}
return make_base;
}
int main(){
//생략
return 0;
}
- 활용
#include <vector>
#include <algorithm>
#include <string>
int BinarySystem(int num){
string make_base = "";
for(int i = num; i > 0; ){
make_base = to_string(i % 2) + make_base;
i /= 2;
}
int base_intver = 0;
int ten_squared = 1;
for(int i = make_base.length() - 1; i >= 0; i--){
base_intver += make_base[i] * ten_squared;
ten_squared *= 10;
}
return base_intver;
}
int main(){
//생략
return 0;
}
'Programming > C++' 카테고리의 다른 글
C++ and 비트연산을 이용한 홀수, 짝수 판별 (0) | 2020.09.21 |
---|---|
C++ 입출력 속도 증가(알고리즘 대회) (0) | 2020.09.20 |
C++ max_element(), min_element() 최대값, 최소값 (0) | 2020.08.02 |
C++ string find를 이용한 찾은 문자열 위치 저장 (0) | 2020.07.22 |
C++ vector<vector<int> > 2차원 벡터의 크기 (0) | 2020.07.19 |