2진수 → 8진수
뒤에서부터 3자리씩 끊어서 구분
1010110 --> 001/010/110 -> 1/2/6 = 126
2진수 → 16진수
뒤에서부터 4자리씩 끊어서 구분
0001/0110/1010 = 1/6/a
binary : bin() = 2진수
oct : oct() = 8진수
Hexadecimal : hex() = 16진수
==> 이렇게 변환된 데이터는 모두 문자열에 해당함
dNum = 30 print('2진수 : {}'.format(bin(dNum))) print('8진수 : {}'.format(oct(dNum))) print('16진수 : {}'.format(hex(dNum)))
2진수 : 0b11110 8진수 : 0o36 16진수 : 0x1e
# format 함수를 활용해 진수 계산 dNum = 30 print('2진수 : {}'.format(format(dNum, '#b'))) print('8진수 : {}'.format(format(dNum,'#o'))) print('16진수 : {}'.format(format(dNum,'#x')))
2진수 : 0b11110 8진수 : 0o36 16진수 : 0x1e
# 콜론을 활용해 진수 계산 dNum = 30 print('{0:#b}, {0:#o}, {0:#x}'.format(dNum))
0b11110, 0o36, 0x1e
# 간략하게 진법 계산 # 이때 앞에 2진수 8진수 16진수를 의미하는 0b, 0o 0x가 붙지 않는다. print('2진수 : {}'.format(format(dNum, 'b'))) print('8진수 : {}'.format(format(dNum,'o'))) print('16진수 : {}'.format(format(dNum,'x')))
2진수 : 11110 8진수 : 36 16진수 : 1e
# 10진수로 변환 print('2진수(0b11110) → 10진수({})'.format(int('0b11110', 2))) print('8진수(0o36) → 10진수({})'.format(int('0o36', 8))) print('16진수(0x1e) → 10진수({})'.format(int('0x1e', 16)))
2진수(0b11110) → 10진수(30) 8진수(0o36) → 10진수(30) 16진수(0x1e) → 10진수(30)
해당 내용은 제로베이스 데이터스쿨의 강의안 중 일부를 발췌한 내용입니다.