진법 변환
C++에서 각 진법 변환에 대한 예제이다.
10진수에서 2진수 변환 에제 코드
#include <iostream>
using namespace std;
int ToBinary(int number);
int main()
{
int n;
cout << "변환할 숫자 입력 : ";
cin >> n;
cout << "10진수" << n << "에서 2진수 " << ToBinary(n) << "변환" << endl;
return 0;
}
int ToBinary(int number)
{
int result = 0;
// 반복 시 마다 1자리씩 늘리도록 i * 10
for(int i = 1; number > 0; i *= 10) {
// 홀수 짝수 인지 판단(0, 1)
int binary = number % 2;
// 2진수 자릿수 추가를 위하여 * i
result += binary * i;
// number를 2씩 나눔
number /= 2;
}
return result;
}
2진수에서 10진수 변환 에제 코드
#include <iostream>
using namespace std;
int ToDecimal(int number);
int main()
{
int n;
cout << "변환할 숫자 입력 : ";
cin >> n;
cout << "2진수" << n << "에서 10진수 " << ToDecimal(n) << "변환" << endl;
return 0;
}
int ToDecimal(int number)
{
int result = 0, n = 1;
while(number > 0) {
// 홀수일 경우 자릿수 값 확인하여 더하기
if(number % 2 != 0) {
result += n;
}
// 2진수 값을 더하기 위해 2씩 곱하기
n *= 2;
// 1자리씩 확인하기 위해 나누기
number /= 10;
}
return result;
}
'Algorithm > 이론' 카테고리의 다른 글
[Algorithm] C - 이진 탐색 트리(Binary Search Tree) (4) | 2022.12.03 |
---|---|
[Algorithm] C++ - 소수 구하기 (제곱근, 에라토스테네스의 체) (0) | 2022.11.20 |
[Algorithm] C - Boyer-Moore 문자열 검색 알고리즘 (1) | 2022.11.19 |
[Algorithm] C - KMP(Knuth-Morris-Pratt Algorithm) 알고리즘 (0) | 2022.11.19 |
[Algorithm] C - 브루트 포스(Brute Force)를 이용한 문자열 검색 (0) | 2022.11.14 |