티스토리 뷰

반응형

bin,oct,hex 함수를 사용할 때는 항상 0b,0o,0x가 붙는다.

 

print(bin(10))
print(oct(10))
print(hex(10))

0b1010
0o12
0xa

 

이럴 때는 두 가지 방법이 있다.

 

1. 인덱싱하기

print(bin(10)[2:])
print(oct(10)[2:])
print(hex(10)[2:])

1010
12
a

 

자체적으로 2번째 항목부터 인덱싱을 하면 빠진다.

 

2. 포맷함수 사용해서 변환

 

format(10진수 숫자, '변환하고자 하는 진수의 표현방식')으로 사용하면 된다.

당연하게도 b는 2진수, o는 8진수, x는 16진수다.

format(10, 'b')
format(10, 'o')
format(10, 'x')

 

+보너스

16진수 변환 할 때 소문자로 나온다.

만약 헥스 코드를 쓰거나 이럴때는 .upper 메소드를 써주면 된다.

format(10, 'x').upper()

 

추가적으로 다음과 같이 사용할 수도 있다.

format(10, '02x').upper()

이게 무슨 뜻이냐면, 2자리로 표현한다는 거다.

'03x'으로 들어가면 3자리, '04x'로 들어가면 4자리로 표현한다.

 

자릿수를 유지하고 싶을 때 유용한 정보니 잘 써먹자.

반응형