アプリ版:「スタンプのみでお礼する」機能のリリースについて

Javaプログラミング

課題で10進法で入力した値を2進法に計算しなおすプログラミングを書いてます。Integer.toBinaryString(int)を使わないでと指定があるのですが、まったくわかりません。おそらくfor か while を使うのだろうと思うのですが、
わかるかたいましたら教えてください。
お願いします。

A 回答 (3件)

プログラムを書こうとする前に、たとえば10進数で12345という数字を2進数表記に手動で変換する手順を説明できますか?


問題のプログラムはforやwhileを使って書くこともできますし、どちらも使わずに書くことも可能です。
    • good
    • 0
この回答へのお礼

手動のやり方は知ってます。
問題とりあえず解けました。
返事遅れて申し訳ありません。ありがとうございました。

お礼日時:2010/10/06 18:14

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();

軽くテストしましたが、そのまま使用するかは自己責任でお願いします。
    • good
    • 0
この回答へのお礼

丁寧にありがとうございます。
とても参考になりました!
返事遅れてすいません。ありがとうございました。

お礼日時:2010/10/06 18:15

Integer.toBinaryString(int) がそのままなんでソース見れば答えでしょ。



参考URL:http://www.docjar.com/html/api/java/lang/Integer …
    • good
    • 0
この回答へのお礼

こんなページがあったんですね。
ありがとうございます。

お礼日時:2010/10/06 18:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!