지우너
10진수를 2진수로 / 2진수를 10진수로 본문
요약(C++ 코드)
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 |