/ /ベースに数値を加える - Python、バイナリ、10進数

ベースで数値を追加する - Python、バイナリ、10進数

こんにちは私はいくつかの質問に問題があり、誰かが私を助けることができるかどうか疑問に思っていた。

私はいろいろな拠点に番号を付け加えることになっていて、それをどうやって行うのか分からない。

以下は私が問題を抱えている質問です。誰かが助けてくれますか?

Add the numbers in bases indicated (I cant figure out how to do this, can someone help!!!)

A). 4 3 7 1 base 8 + 2 7 7 3 base 8 = Answer has to be in base 8

B). 1 3 5 D base 16 + 9 9 A base 16 = has to be in base 16

C). 1 1 1 0 base 2 + 1 1 0 base 2 + in base 2

回答:

回答№1は1

だから、今はベース10に慣れています。ベース10はどのように機能しますか?

さて、あなたは自分のポジションを数え始めます1つのキャラクターで10を表現することはできませんので、1つの位置を一番下、ゼロにリセットしなければならず、次の位置(10の位置) 一つ。そして、あなたが同じ9つの取引になると、自分のポジションと10のポジションの両方を0にリセットしなければならず、100のポジションを1つ増やす必要があります。

だからベース10では、あなたが1で表すことができる最も多く数字は9つの数字です あなたが2桁で表現できるものは、99個の可能な数字です あなたが3桁で表現できる数字は999通りです

そこにはパターンがあります。私はあなたがそれを理解できるようにします。そして、あなたは他のすべての拠点にパターンを適用し、それらをすべて理解することができます。

そしてそれはベース8と同じです、あなたは早めにリセットと持ち運びに慣れる必要があります。

あなたは、このように1、2、3、4、5、6、7しかし、私たちは "8"を表す単一の文字を持っていません。それはそれほど高くはありません。基数10のように、10を表す単一の文字はありません。

だから、ここでそれを次の数字、十位に運ばなければならない。 10,11,12,13,14,15,16,17そして再びそれを運ぶ必要があり、それは20,21になります。 。 。等

そして77になると100にリセットされ(ベース10では64)、ベース10では777〜1000(?)にリセットされます。

おそらくこのようにしてあなたの答えをチェックすることができます。 http://gwydir.demon.co.uk/jo/numbers/binary/bases.htm

新しい言語を学ぶことは、文字通り世界を見るための新しい方法を学ぶことです。最初は恐ろしいですが、後でかなり恐ろしくなります。

幸運とプログラミングへようこそ!


回答№2の場合は0

つかいます int(x, base=xxx) 文字列を変換する x ベースを表す xxx 数値を整数に変換し、数値を合計し、最後に使用する bin, oct, hex 結果をバイナリ/ 8進/ 16進文字列表現に変換します。

デモ:

In [10]: lst = ["4", "3", "7", "1"] #assuming you have a list of strings

In [11]: oct(sum(int(i, base=8) for i in lst))
Out[11]: "017"