1. ホーム
  2. java

[解決済み] Javaでバイナリ文字列をベース10の整数に変換する方法

2022-06-12 20:25:46

質問

2進数(先頭の0なし)を表す文字列の配列があり、対応する10の基数に変換したい。考えてみてください。

binary 1011 becomes integer 11
binary 1001 becomes integer 9
binary   11 becomes integer 3   etc. 

どのような方法で進めればよいのでしょうか?java.lang.number.*を探っても、直接変換する方法は見つかりませんでした。 Integer.parseInt(b) は、文字列と等しい整数を生成します。例えば、1001は9ではなく1,001になり、出力ベースのパラメータを含んでいないようです。 toBinaryString は間違った方向に変換してしまいます。多段階の変換が必要だと思うのですが、適切なメソッドやサブクラスの組み合わせが見つからないようです。また、先頭のゼロの有無がどの程度問題になるのかもよくわかりません。誰か私に指示する良い方向性を持っていますか?

どのように解決するのですか?

あなたは、次のことを行う必要があります。 基数を指定する . のオーバーロードがあります。 Integer#parseInt() というのがあり、これを使うと

int foo = Integer.parseInt("1001", 2);