Python
 Computer >> コンピューター >  >> プログラミング >> Python

16進文字列を10進数に変換するPythonプログラム


この記事では、以下に示す問題ステートメントの解決策について学習します。

問題の説明 − 16進文字列が与えられたので、それを10進数に変換する必要があります。

問題を解決するための2つのアプローチがあります-

  • ブルートフォースアプローチ
  • 組み込みモジュールの使用

ブルートフォース方式

ここでは、明示的な型キャスト関数、つまり整数を利用します。この関数は、2つの引数、つまり16進数と同等の引数とベース(16)を取ります。この関数は、16進文字列を整数型の同等の10進数に変換するために使用されます。これは、さらに文字列形式に型キャストして戻すことができます。

#input string
string = 'F'
# converting hexadecimal string to decimal
res = int(string, 16)
# print result
print("The decimal number associated with hexadecimal string is : " + str(res))

出力

The decimal number associated with hexadecimal string is: 15

16進文字列を10進数に変換するPythonプログラム

組み込みの「ast」モジュールの使用

ここでは、astモジュールで使用可能なliteral_eval関数を使用し、指定された16進数に相当するもののベースを予測してから、それに相当する10進数に変換できます。ここでは、リテラル評価の概念を使用します。

# using built-in module literal_eval
from ast import literal_eval
# initializing string
test_string = '0xF'
# converting hexadecimal string to decimal
res = literal_eval(test_string)
# print result
print("The decimal number of the hexadecimal string is : " + str(res))

出力

The decimal number of the hexadecimal string is: 15

16進文字列を10進数に変換するPythonプログラム

すべての変数はローカルスコープで宣言されており、それらの参照は上の図に示されています。

結論

この記事では、指定された16進文字列を同等の10進数に変換する方法について学習しました。


  1. Pythonプログラムで10進数を2進数に変換する

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − 10進数が与えられているので、それに相当する2進数に変換する必要があります。 与えられた問題を解決するための2つのアプローチがあります。それらを1つずつ見てみましょう- 再帰的アプローチ 例 def DecimalToBinary(num):    if num > 1:       DecimalToBinary(num // 2)    print(num % 2, end = '') # main if _

  2. 10進数を2進数に変換するPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 数値を指定すると、2進数に変換する必要があります。 アプローチ1-再帰的ソリューション DecToBin(num):    if num > 1:       DecToBin(num // 2)       print num % 2 例 def DecimalToBinary(num):    if num > 1:       Decimal