1. 서론
10진법에서 N진법들로 바꾸는 법을 알아보자. 이를 c++로 표현도 해보자.
2. 본론
10진법에서 N진법으로 바꾸는 법 : 10진법 숫자 X가 있을때, X를 N으로 나눌 수 있을 때까지 나누고 나머지를 반대로 적어준다.
45(10)을 3진법으로 바꿀 때 :
N진법에서 10진법으로 바꾸는 법 : N진법 각 숫자에 뒤에서부터 N의 0승부터 곱해서 더해준다.
1200(3)을 10진법으로 바꿀 때 :
C++로 표현해보기
3진법 뒤집기 : https://school.programmers.co.kr/learn/courses/30/lessons/68935
주어진 10진수를 3진수로 변환한 뒤, 뒤집어서 다시 10진수로 변환하는 프로그램이다.
#include <string>
#include <cmath>
using namespace std;
int solution(int n) {
int answer = 0;
string s = "";
while(n != 0){
s += to_string(n%3);
n /= 3;
}
for(int i = 0; i < s.size(); i++){
answer += (s[s.size()-1-i]-48) * pow(3, i);
}
return answer;
}
3. 결론
진수 변환은 컴퓨터 공학도의 기본이 아닐까..ㅎ
'Study > CS' 카테고리의 다른 글
일하면서 알게 된 것 - 1 (0) | 2024.05.27 |
---|---|
[Algorithm] 유클리드 호제법으로 최대공약수, 최소공배수 구하기 c++ (0) | 2023.01.25 |
[Algorithm] 소수 판별하기, 에라토스테네스의 체 c++ (0) | 2023.01.02 |
[Algorithm] 조합 combination : next_permutation, prev_permutation, 재귀 (0) | 2022.12.21 |
[Algorithm] 시간복잡도 연습하기 (0) | 2022.09.13 |