본문 바로가기

Lang

[julia]Decimal to Binary conversion

julia 에서 십진수를 이진수로 변환하는 간단한 방법.

string(n, base=2))

그런데, 이걸 재귀함수로 재미나게 구현해 놨네요('Julia Bit by Bit' 중에서). 

function decToBin(n)
    if n > 0
        decToBin(n ÷ 2)
        print("$(n % 2)")
    end
end

조금 더 읽어본 김에 거듭제곱도 한 번.

function power(x, n)
    pow = 1
    if n > 0 n += 1 end
    for h = 2:n
        pow = pow * x
    end
    pow
end

function power1(x, n)
    if n == 0 return 1 end
    y = power1(x, n ÷ 2)
    y *= y
    if n % 2 == 0 return y end
    x * y
end

for n in 0:5
    @printf("m0 : %4d\n", 4^n)
    @printf("m1 : %4d\n", power(4, n))
    @printf("m2 : %4d\n", power1(4, n))
end