math.ceil()
: 소수 부분을 정수로 올려, integer로 만듦.math.floor()
: 소수 부분을 버리고, integer로 만듦.math.trunc()
: 소수 부분 버림.round()
: 반올림, 소수 0.5 이하는 버리고, 0.5를 초과하면 올림.# 2진수
print(25 == 0b11001) # True
# 8진수
print(25 == 0o31) # True
# 16진수
print(25 == 0x19) # True
bin()
, oct()
, hex()
파이썬은 bin()
, oct()
, hex()
라는 내장 함수를 제공한다. 이 함수를 통해서 숫자를 각 진수의 형태의 문자열로 변환할 수 있다.
# 2진수
print(bin(25)) # 0b11001
# 8진수
print(oct(25)) # 0o31
# 16진수
print(hex(25)) # 0x19
format()
format()
을 사용하여 2진수, 8진수, 16진수로 변환된 문자열을 출력할 수 있다.
d
: 10진수b
: 2진수o
: 8진수x
: 16진수 (소문자)X
: 16진수 (대문자)# 10진수
print(format(43, 'd')) # 43
# 2진수
print(format(43, 'b')) # 101011
# 8진수
print(format(43, 'o')) # 53
# 16진수
print(format(43, 'x')) # 2b
print(format(43, 'X')) # 2B
접두어를 포함하여 출력하고자 하면 두번째 인자 앞에 #
만 붙여주면 된다.
# 10진수
print(format(43, '#d')) # 43
# 2진수
print(format(43, '#b')) # 0b101011
# 8진수
print(format(43, '#o')) # 0o53
# 16진수
print(format(43, '#x')) # 0x2b
print(format(43, '#X')) # 0X2B
파이썬에서 bin()
, oct()
, hex()
함수로 변환된 2진수, 8진수, 16진수 문자열을 다시 정수로 변환하려면, int()
함수를 사용할 수 있다. int()
함수는 문자열과 함께 변환하려는 진법(기수)을 인자로 받아 그 값을 정수로 변환한다.
int()
int(문자열, 기수)
: 문자열을 해당 기수(진법)를 사용하여 정수로 변환. int(문자열, 2)
int(문자열, 8)
int(문자열, 16)
# 2진수로 변환된 문자열
binary_str = bin(10) # '0b1010'
# 다시 정수로 변환
num_from_bin = int(binary_str, 2)
print(num_from_bin) # 출력: 10
# 8진수로 변환된 문자열
octal_str = oct(10) # '0o12'
# 다시 정수로 변환
num_from_oct = int(octal_str, 8)
print(num_from_oct) # 출력: 10
# 16진수로 변환된 문자열
hex_str = hex(10) # '0xa'
# 다시 정수로 변환
num_from_hex = int(hex_str, 16)
print(num_from_hex) # 출력: 10
0b
, 0o
, 0x
접두사 처리 :bin()
함수는 결과에 0b
, oct()
함수는 0o
, hex()
함수는 0x
접두사를 붙임.int()
함수는 자동으로 인식하여 처리하므로, 문자열에 0b
, 0o
, 0x
접두사가 있어도 그대로 사용해도 됨.ord()
chr()
print(ord('z')) # 122
print(chr(90)) # Z
ASCII Code Table : https://www.ascii-code.com/ASCII