fullstack

[C++] 10진수 2진수 변환, 2진수 10진수 변환

알고리즘

10진수를 2진수로 변환하는 함수와 2진수를 10진수로 변환하는 함수를 만들어 보았다.

2진수를 문자열로 만들지 않고 int형으로 하였다.




10진수 -> 2진수 변환

1
2
3
4
5
6
7
8
9
10
11
int tenConvertTwo(int num)
{
    int result = 0;
    for(int i=1; num>0; i*=10)
    {
        int binary = num % 2;
        result += binary*i;
        num /= 2;
    }
    return result;
}



2진수 -> 10진수 변환

1
2
3
4
5
6
7
8
9
10
11
12
int twoConvertTen(int num)
{
    int result = 0, mul = 1;
    while(num>0)
    {
        if(num%2)
            result += mul;
        mul *= 2;
        num /= 10;
    }
    return result;
}



가독성은 조금 떨어지지만 최대한 간단하게 구현하였다.

'알고리즘' 카테고리의 다른 글

[Java] D-Day 계산  (0) 2015.11.09