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

浮動小数点の10進数を8進数に変換するPythonプログラム


浮動小数点の小数値を指定し、小数点以下の桁数を入力すると、8進数に変換することがタスクになります。

最初に、浮動小数点値から整数部分を取得して8進数に変換し、次に小数部分を取得して8進数形式に変換し、最後に両方を結合します。

したがって、最初のステップは、整数部分を取得し、数値を8で除算し、配当が8未満になるまで余りを書き留め、残りをすべてコピーすることです。

2番目のステップは小数部分であり、小数部分として0が残るまで、そして最初に整数部分を書き留めてから、新しい値の小数部分に再び8を掛けてから続けない限り、小数部分に8を掛け続けます。これは、完全な数に達するまでです。

サンプルコード

def float_convert_octal(my_number, places = 3):
   my_whole, my_dec = str(my_number).split(".")
   my_whole = int(my_whole)
   my_dec = int (my_dec)
   res = oct(my_whole).lstrip("0o") + "."
   for x in range(places):
      my_whole, my_dec = str((decimal_converter(my_dec)) * 8).split(".")
      my_dec = int(my_dec)
      res += my_whole
   return res
def decimal_converter(num):
   while num > 1:
      num /= 10
   return num
n = input("Enter the floating point value : \n")
p = int(input("Enter the number of decimal places of the result : \n"))
print(float_convert_octal(n, places = p))

出力

Enter the floating point value :
 6.89
Enter the number of decimal places of the result :
 12
6.707534121727

  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