[기초수학] 진법

강미진·2023년 4월 22일
0
  • 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)

해당 내용은 제로베이스 데이터스쿨의 강의안 중 일부를 발췌한 내용입니다.

profile
g'day mate

0개의 댓글