10進数から2進数への関数、Python

SimpleAmature

10進数で表された値を受け取り、それを2進数で表された値に変換する関数を作成しようとしています。

引数が常に整数であると仮定します。

import math

def binary_decimal_converter(x):

    binary_representation = 0
    number = x

    while number != 0:
        n = 1
        while x not in range(n,n*2):
            n *= 2
        binary_representation += 10**(int(math.log(n,2)))
        number -= n

    return binary_representation

問題:

xが以下のリストにある場合、プログラムは正常に実行されます。

[1, 2, 4, 8, 16, 32, 64, 128....]

しかし、他の番号が使用されている場合、プログラムは壊れないループでスタックします。

なぜループするのか:

while number != 0: #line 24  

二度実行することはできませんか?

コナー

割り当ててnumber = xから両方を使用します。

import math

def binary_decimal_converter(x):
    binary_representation = 0
    number = x

    while number != 0:
        n = 1
        while x not in range(n,n*2): # CHANGE x TO number
            n *= 2
        binary_representation += 10**(int(math.log(n,2)))
        number -= n

    return binary_representation

指定した行でに変更xするnumberと動作します。x更新されていませんnumber

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Javaでの10進数から2進数への変換

分類Dev

Javaでの10進数から2進数への割り当て

分類Dev

Cでの10進数から2進数への変換

分類Dev

C ++での2進数から10進数への変換

分類Dev

2進数のASCIIから10進数への変換

分類Dev

2進数のASCIIから10進数への変換

分類Dev

10進数からcの2進数への障害

分類Dev

10進数から2進数への変換

分類Dev

2進数から10進数へのc

分類Dev

10進数から2進数への変換C ++

分類Dev

2進数から10進数への再帰

分類Dev

10進数から2進数へのコンバーター

分類Dev

10進数から2進数への変換エラー

分類Dev

10 進数から 2 進数への変換

分類Dev

Pythonでの視覚化による10進数から2進数へ

分類Dev

10進数から2進数のPythonアルゴリズム

分類Dev

10進数から2進数へのコードがわかりません

分類Dev

Python 10進数から文字列へ

分類Dev

PySparkでの10進数から2進数へのデコード

分類Dev

nビットまでの10進数から2進数への変換

分類Dev

2の補数を含む10進数から2進数

分類Dev

Javaでの16進数から10進数への変換

分類Dev

10進数から2進数への変換を高速化する方法

分類Dev

長整数値Cを使用した10進数から2進数への変換

分類Dev

10進数から2進数への変換-0.1を変換する方法は?

分類Dev

再帰を使用した10進数から2進数への変換

分類Dev

10進数から2進数への変換に問題があります

分類Dev

再帰による 10 進数から 2 進数へのプログラム

分類Dev

Javaエラーを使用した10進数から2進数への変換

Related 関連記事

ホットタグ

アーカイブ