【数学】【Python】10進数を2進数に変換する

Pythonだったら

taki@DESKTOP-4VF3GEO:~/python$ python
Python 2.7.18 (default, Mar  8 2021, 13:02:45) 
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> bin(26)
'0b11010'
>>> 

という感じで変換出来るんですが、あえてロジックで組んでみます。

import sys

args = sys.argv

print(args)
def dec2bin(target):
    division = target
    amari = []

    while division != 0:
        amari.append(division % 2)
        division = division // 2
    
    amari.reverse()
    return amari

print(dec2bin(int(args[1])))

taki@DESKTOP-4VF3GEO:~/python$ python dec2bin.py 26
['dec2bin.py', '26']
[1, 1, 0, 1, 0]

引数をdivisionに置き換えているのは、引数に計算結果を代入するのはよろしくないという考えの元、サンプルコードを書き換えています。

「【数学】【Python】10進数を2進数に変換する」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください