logo

Pythonで16進数を2進数に変換するにはどうすればよいですか?

「16進数」 の略語です 16進数 。を使用する番号付けシステムです。 16 そのベースとして。これは、コンピューティングおよびデジタル電子機器で一般的に使用されます。 バイト(8ビット) 2 桁のみのデータなので、バイナリよりも簡潔で読みやすくなります。 16進数では、数字は 0-9 それぞれの値を表し、文字は A-F (または a-f) 値を表す 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 は組み込み機能を提供します ビット演算子 バイナリデータを操作するために使用できます。これらの演算子を使用すると、まず文字列を整数に変換し、次にビットごとの演算を使用してバイナリ数字を抽出することにより、16 進文字列をバイナリに変換できます。

例:

コード スニペットの例を次に示します。

 # 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 進文字列を整数に変換します。 int() ベースを次のように設定した関数 16 。その後、私たちは、 フォーマット() 書式指定子を使用した関数 「b」 整数をバイナリ文字列に変換します。の フォーマット() この関数は、バイナリ値を表すために必要に応じて先頭にゼロを付けた文字列を返します。最後に、バイナリ文字列を出力します。

方法 3: Binascii モジュールの hex2bin() 関数を使用する

パイソンの ビナスキー モジュールが提供するのは、 hex2bin() 16 進文字列をバイナリに変換するために使用できる関数。

npmキャッシュを削除する

例:

コード スニペットの例を次に示します。

 # 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 進文字列をバイナリに変換できます。 リスト内包表記 これは、文字列内の各 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 進数を反復処理します。各桁について、次の式を使用して整数に変換します。 int() ベースを次のように設定した関数 16 、そしてそれをバイナリ文字列としてフォーマットします 4桁 を使用して '{0:04b}'.format() 文字列フォーマット構文。結果のバイナリ文字列はリストに収集され、次に、 ''。参加する() 関数。

方法 5: NumPy ライブラリを使用する

持っている場合は、 NumPy ライブラリ インストールされている場合は、 numpy.base_repr() 16 進数の文字列をバイナリに変換する関数。

例:

 # 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() 関数とは異なり、プレフィックスや先頭のゼロのないバイナリ文字列を返します。