Menu
CoddyTech

Binary to Decimal

0と1の文字だけを使って、0以上の数値を2進数で表した文字列sが与えられます。その数値を通常の整数として返してください。この文字列には先頭のゼロはありません。ただし、0の場合は例外で、1文字の0で表されます。

関数

toDecimal(s: string) → integer
sstring
数の2進数の各桁
戻り値integer
s の値を整数として

制約

  • 1 ≤ s.length ≤ 31
  • s は 0 と 1 のみを含みます。
  • sは、sが"0"でない限り、1から始まります。
  • 組み込みの基数変換を呼び出すのではなく、自分で数字を読み取りましょう。

例

入力
s = "1101"
出力
13
説明
右から読むと、各桁の値は1、2、4、8です。1101では、8、4、1の位が1なので、8 + 4 + 1 = 13です。

lock icon提出時に隠しテスト+16件

challenge icon

発展問題

同じループを使って、2進数から16進数までの任意の基数で書かれた数を読み取れますか?その場合、文字 a から f は数字の 10 から 15 を表します。

コードをリセット
def toDecimal(s):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

s = "1101"

期待値

13