- ベストアンサー
Javaプログラミング
Javaプログラミング 課題で10進法で入力した値を2進法に計算しなおすプログラミングを書いてます。Integer.toBinaryString(int)を使わないでと指定があるのですが、まったくわかりません。おそらくfor か while を使うのだろうと思うのですが、 わかるかたいましたら教えてください。 お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
10進数を2進数に変換する方法は、ご存知ですよね。 ■10進数を2進数に変換する ある10進数を2で割り続けて、1もしくは0になるまで繰り返す。 その過程で出力された余りが各桁の値となる。 でこれをプログラムで表現すると、以下になります。 StringBuffer test = new StringBuffer(); if(num <= 1){ test.append(num); }else{ while(true){ test.append(num % 2); num = num / 2 ; if(num <= 1){ test.append(num); break; } } } return test.reverse().toString(); 軽くテストしましたが、そのまま使用するかは自己責任でお願いします。
その他の回答 (2)
- sincia
- ベストアンサー率0% (0/1)
Integer.toBinaryString(int) がそのままなんでソース見れば答えでしょ。
お礼
こんなページがあったんですね。 ありがとうございます。
- salsberry
- ベストアンサー率69% (495/711)
プログラムを書こうとする前に、たとえば10進数で12345という数字を2進数表記に手動で変換する手順を説明できますか? 問題のプログラムはforやwhileを使って書くこともできますし、どちらも使わずに書くことも可能です。
お礼
手動のやり方は知ってます。 問題とりあえず解けました。 返事遅れて申し訳ありません。ありがとうございました。
お礼
丁寧にありがとうございます。 とても参考になりました! 返事遅れてすいません。ありがとうございました。