logo

파이썬에서 16진수를 2진수로 변환하는 방법은 무엇입니까?

그만큼 '마녀' 의 약어이다 16진수 . 사용하는 번호 체계입니다. 16 그 기반으로. 이는 컴퓨팅 및 디지털 전자 제품에 일반적으로 사용됩니다. 바이트(8비트) 단 두 자리 숫자의 데이터이므로 이진수보다 더 간결하고 읽기 쉽습니다. 16진수에서는 숫자가 0-9 각각의 값을 나타내고 문자는 AF(또는 AF) 가치를 표현하다 10-15 , 각각.

안녕하세요, 자바와 함께하는 세상

방법 1: bin() 함수 사용

Python에서 16진수를 2진수로 변환하는 것은 다음과 같은 내장 함수를 사용하여 수행할 수 있습니다. 큰 상자() . 이 함수는 정수 또는 문자열을 입력으로 사용하고 해당하는 이진수를 반환합니다.

예:

 # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to an integer using the base 16 hex_integer = int(hex_string, 16) # Convert the integer to binary using the bin() function binary_string = bin(hex_integer) # Remove the '0b' prefix from the binary string binary_string = binary_string[2:] # Print the binary string print(binary_string) 

산출:

 11010 

방법 2: 비트 연산자 사용

Python은 내장 기능을 제공합니다. 비트 연산자 이진 데이터를 조작하는 데 사용할 수 있습니다. 이러한 연산자를 사용하면 먼저 문자열을 정수로 변환한 다음 비트 연산을 사용하여 2진수를 추출하여 16진수 문자열을 2진수로 변환할 수 있습니다.

예:

다음은 예제 코드 조각입니다.

 # Define a hexadecimal string hex_string = '1F' # Convert the hexadecimal string to an integer using the base 16 hex_integer = int(hex_string, 16) # Convert the integer to binary using bitwise operators binary_string = format(hex_integer, 'b') # Print the binary string print(binary_string) 

산출:

 11111 

설명:

이 코드에서는 먼저 다음을 사용하여 16진수 문자열을 정수로 변환합니다. 정수() 기본으로 설정된 기능 16 . 그 후, 우리는 체재() 형식 지정자를 사용한 함수 '비' 정수를 이진 문자열로 변환합니다. 그만큼 체재() 함수는 이진 값을 표현하기 위해 필요에 따라 앞에 0이 붙은 문자열을 반환합니다. 마지막으로 이진 문자열을 인쇄합니다.

방법 3: binascii 모듈의 hex2bin() 함수 사용

파이썬의 비나스키 모듈은 16진수2빈() 16진수 문자열을 2진수로 변환하는 데 사용할 수 있는 함수입니다.

예:

다음은 예제 코드 조각입니다.

자바의 하위 문자열 메소드
 # Import the binascii module import binascii # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using the binascii.unhexlify() function binary_string = bin(int.from_bytes(binascii.unhexlify(hex_string), byteorder='big')) # Print the binary string print(binary_string) 

산출:

 0b11010 

설명:

이 코드에서는 먼저 비나스키 기준 치수. 그런 다음 변환하려는 16진수 문자열을 정의합니다. 16진수 문자열을 전달합니다. binascii.unhexlify() 이를 바이트 객체로 변환하는 함수입니다. 그 후, 우리는 다음을 사용하여 바이트 객체를 정수로 변환합니다. int.from_bytes() 함수, 바이트 순서는 다음과 같이 설정됩니다. '큰' (가장 중요한 바이트 먼저). 마지막으로 정수를 큰 상자() 이진 문자열 표현을 얻는 함수입니다.

참고: bin() 함수는 접두사가 '0b'인 이진 문자열을 반환합니다. 접두사를 제거하려면 문자열 분할을 사용할 수 있습니다.

방법 4: 목록 이해 및 문자열 형식 지정 사용

다음을 사용하여 16진수 문자열을 2진수로 변환할 수 있습니다. 목록 이해 문자열의 각 16진수를 반복하고 문자열 형식을 사용하여 해당하는 이진수로 변환합니다.

예:

 # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using a list comprehension and string formatting binary_string = ''.join(['{0:04b}'.format(int(d, 16)) for d in hex_string]) # Print the binary string print(binary_string) 

산출:

 00011010 

설명:

이 코드에서는 먼저 변환하려는 16진수 문자열을 정의합니다. 그 후, 우리는 목록 이해 문자열의 각 16진수를 반복합니다. 각 숫자에 대해 다음을 사용하여 정수로 변환합니다. 정수() 기본으로 설정된 기능 16 , 다음을 사용하여 이진 문자열로 형식을 지정합니다. 4자리 사용하여 '{0:04b}'.format() 문자열 형식화 구문. 결과 이진 문자열은 목록으로 수집된 다음 다음을 사용하여 단일 문자열로 결합됩니다. ''.가입하다() 기능.

100만 자릿수

방법 5: NumPy 라이브러리 사용

당신이 가지고 있다면 NumPy 라이브러리 설치하면 다음을 사용할 수 있습니다. numpy.base_repr() 16진수 문자열을 2진수로 변환하는 함수입니다.

예:

 # Import the numpy library import numpy as np # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using the numpy.base_repr() function binary_string = np.base_repr(int(hex_string, 16), base=2) # Print the binary string print(binary_string) 

산출:

 11010 

참고: numpy.base_repr() 함수는 내장 bin() 함수와 달리 접두사나 선행 0 없이 이진 문자열을 반환합니다.