fullstack

'알고리즘'에 해당되는 글 2건

  1. [C++] 10진수 2진수 변환, 2진수 10진수 변환 1
  2. [Java] D-Day 계산

[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

[Java] D-Day 계산

알고리즘

D-Day를 계산해서 일수를 리턴하는 함수를 만들었다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public int calcdate(int _year, int _month, int _day) {
    try {
        TimeZone tz = TimeZone.getTimeZone ("Asia/Seoul");
        Calendar today = Calendar.getInstance (tz); 
        Calendar dday = Calendar.getInstance(tz);
 
        dday.set(_year, _month-1, _day);
 
        long cnt_dday = dday.getTimeInMillis() / 86400000;
        long cnt_today = today.getTimeInMillis() / 86400000;
        long sub = cnt_today - cnt_dday;
            
        return (int) sub + 1
    } catch (Exception e) {
        e.printStackTrace();
        return -1;
    }
}



#3 - TimeZone 오브젝트로 서울의 시간으로 적용하였다.

#9,#10 - 86400000(1일의 값) = 24시간 * 60분 * 60초 * 1000(1초값)

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

[C++] 10진수 2진수 변환, 2진수 10진수 변환  (1) 2015.11.16