기초수학 진법

dpwl·2024년 4월 27일
0

Data Analysis

목록 보기
72/83

1. 진법

진법특정 숫자 몇 개를 사용하여 수를 표시하는 방법이다.

2진법: 0, 1 (2개 사용)
8진법: 0, 1, 2, 3, 4, 5, 6, 7 (8개 사용)
10진법: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (10개 사용)
16진법: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (16개 사용)

1.1 10진수를 2진수로 변환

숫자를 2로 나눠서 나머지를 붙이면 2진수가 된다.

1) 10진수 8

2) 10진수 17

3) 10진수 25

1.2 10진수를 8진수로 변환

octal: oct()

print('8진수: {}'.format(oct(dNum)))
# 결과: 0o는 8진수를 가리킨다.
# 0o36
# Type of bin(dNum): <class 'str'>	# 변환 결과는 문자열

1) 10진수 8

2) 10진수 17

3) 10진수 25

1.3 10진수를 16진수로 변환

hexadecimal: hex()

print('16진수: {}'.format(hex(dNum)))
# 결과: 0x는 16진수를 가리킨다.
# 0x1e
# 변환 결과는 문자열
# Type of bin(dNum): <class 'str'>	

1) 10진수 8

2) 10진수 17

10진수 25

1.4 2진수를 10진수로 변환

1) 2진수 1000

2) 2진수 10001

3) 2진수 11001

1.5 8진수를 10진수로 변환

1) 8진수 10

2) 8진수 21

3) 8진수 31

1.6 2진수를 8진수로 변환

1) 2진수 1010100

1.7 2진수를 16진수로 변환

1) 2진수 1010100

2. Python 이용 진법

2.1 10진수를 2진수로 변환

binary: bin()

print('2진수: {}'.format(bin(dNum)))
# 2진수 데이터타입 확인
print('2진수: {}'.format(type(bin(dNum))))
# 결과: 0b는 2진수를 가리킨다.
# 0b11110
# Type of bin(dNum): <class 'str'>	# 변환 결과는 문자열

bin(): format() 함수 이용

print('2진수: {}'.format(format(dNum, '#b')))
# format() 함수 이용한 2진수 데이터타입 확인
print('2진수: {}'.format(type(format(dNum, '#b'))))

2진수 숫자만 나타내는 방법:

print('2진수: {}'.format(format(dNum, 'b')))
print('2진수: {}'.format(type(format(dNum, 'b'))))

2.2 10진수를 8진수로 변환

octal: oct()

print('8진수: {}'.format(oct(dNum)))
# 8진수 데이터타입 확인
print(print('8진수: {}'.format(type(oct(dNum))))
# 결과: 0o는 8진수를 가리킨다.
# 0o36
# Type of bin(dNum): <class 'str'>	# 변환 결과는 문자열

oct(): format() 함수 이용

print('8진수: {}'.format(format(dNum, '#o')))
# format() 함수 이용한 8진수 데이터타입 확인
print('8진수: {}'.format(type(format(dNum, '#o'))))

8진수 숫자만 나타내는 방법:

print('8진수: {}'.format(format(dNum, 'o')))
print('8진수: {}'.format(type(format(dNum, 'o'))))

2.3 10진수를 16진수로 변환

hexadecimal: hex()

print('16진수: {}'.format(hex(dNum)))
# 16진수 데이터타입 확인
print('16진수: {}'.format(type(hex(dNum))))
# 결과: 0x는 16진수를 가리킨다.
# 0x1e
# Type of bin(dNum): <class 'str'>	# 변환 결과는 문자열

hex(): format() 함수 이용

print('16진수: {}'.format(format(dNum, '#x')))
print('16진수: {}'.format(type(format(dNum, '#x'))))

8진수 숫자만 나타내는 방법:

print('16진수: {}'.format(format(dNum, 'x')))
print('16진수: {}'.format(type(format(dNum, 'x'))))

2.4 2진수를 10진수로 변환

2진수를 10진수로 변환: int() 함수

print('2진수(0b11110 -> 10진수({})'.format(int('0b11110', 2)))

2.5 8진수를 10진수로 변환

8진수를 10진수로 변환: int() 함수

print('8진수(0o36 -> 10진수({})'.format(int('0o36', 8)))

2.6 2진수를 8진수로 변환

16진수를 10진수로 변환: int() 함수

print('16진수(0x1e -> 10진수({})'.format(int('0x1e', 16)))

2.7 2진수를 x진수로 변환

print('2진수(0b11110 -> 8진수({})'.format(oct(0b11110)))
print('2진수(0b11110 -> 10진수({})'.format(int(0b11110)))
print('2진수(0b11110 -> 16진수({})'.format(hex(0b11110)))

2.8 8진수를 x진수로 변환

print('8진수(0b11110 -> 2진수({})'.format(bin(0o36)))
print('8진수(0b11110 -> 10진수({})'.format(int(0o36)))
print('8진수(0b11110 -> 16진수({})'.format(hex(0o36)))

2.9 16진수를 x진수로 변환

print('16진수(0b11110 -> 2진수({})'.format(bin(0x1e)))
print('16진수(0b11110 -> 8진수({})'.format(oct(0x1e)))
print('16진수(0b11110 -> 10진수({})'.format(int(0x1e)))

profile
거북선통통통통

0개의 댓글