지우너

10진수를 2진수로 / 2진수를 10진수로 본문

CS/Algorithm

10진수를 2진수로 / 2진수를 10진수로

지옹 2024. 4. 16. 13:09

10진수→2진수

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    vector<int> binary;
    int n;
    cin >> n;
    if (n==0) binary.push_back(0);
    else if (n==1)binary.push_back(1);
    else{
        while(n){
            int disit = n%2;
            binary.push_back(disit);
            n/=2;
        }
    }
    reverse(binary.begin(), binary.end());
    
    for(auto e : binary){
        cout << e;
    }
    return 0;
}

 

2진수→10진수 (1) 맨 뒤 비트(2^0)부터 더하기

#include <iostream>
#include <cmath> // pow()
using namespace std;

int main() {
    string binary;
    cin >>binary;

    int answer=0;
    for (int i=binary.length()-1 ;i>=0; i--){
        int num = binary[i]-'0';
        answer += num*pow(2, binary.length()-1-i);
    }
    cout << answer;
    return 0;
}

2진수→10진수 (2) 맨 왼쪽비트부터 더하기

#include <iostream>
using namespace std;

int main() {
    int binary[5] = {1, 1, 1, 0, 1};
    int num = 0;
    
    for(int i = 0; i < 5; i++)
        num = num * 2 + binary[i];
    
    cout << num;
}

 

 

참고 사이트

코드트리: 2진수를 10진수로 변환하기

'CS > Algorithm' 카테고리의 다른 글

크루스칼(Kruskal) 알고리즘  (0) 2024.11.30
시간 복잡도  (0) 2024.10.30
다익스트라(Dijkstra) 알고리즘  (0) 2024.09.15