[Algorithm] 2진수, 8진수, 10진수, 16진수 (Feat. divmod 함수)

myeonji·2022년 2월 19일
0

Algorithm

목록 보기
45/89

10진수 -> 2진수, 8진수, 16진수

value = 30

b = bin(value)
o = oct(value)
x = hex(value)

print(b)
print(o)
print(x)

# 0b11110
# 0o36
# 0x1e
value = 30

b = format(value, '#b')
o = format(value, '#o')
x = format(value, '#x')

print(b)
print(o)
print(x)

# 0b11110
# 0o36
# 0x1e
value = 30

b = format(value, 'b')
o = format(value, 'o')
x = format(value, 'x')

print(b)
print(o)
print(x)

# 11110
# 36
# 1e

2진수, 8진수, 16진수 -> 10진수

b = int('0b111100', 2)
o = int('0o74', 8)
h = int('0x3c', 16)

print(b)
print(o)
print(h)


# 60
# 60
# 60

n진수 -> 10진수

int(string, base)

print(int('101',2))
print(int('202',3))
print(int('303',4))
print(int('404',5))
print(int('505',6))
print(int('ACF',16))

# 5
# 20
# 51
# 104
# 185
# 2767

divmod 함수

  • 파이썬 내장함수
  • 매개변수로 숫자 두 개 입력 받아서 몫과 나머지를 튜플 형태로 반환
a = divmod(10, 3)
print(a)

# (3, 1)

⚠ 당연히, 두번째 인자에 0을 집어 넣으면 에러 발생
(ZeroDivisionError: integer division or modulo by zero)

0개의 댓글