10進数を2進数に変換するプログラムを作ったのですが、
小数の2進数変換が出来ません。
小数を2進数に変換するにはどうしたらいいのでしょうか?
よろしくお願いします。
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Applet1 extends Applet
{
TextField textField1 = new TextField(10);
TextField textField2 = new TextField(10);
Button displayButton1 = new Button("2進数変換");
public void init()
{
displayButton1 = new Button("2進数変換");
add(new Label("10進数"));
add(textField1);
add(textField2);
add(displayButton1);
displayButton1.addActionListener(new ToBinaryAction());
}
class ToBinaryAction implements ActionListener{
public void actionPerformed(ActionEvent e)
{
int x = Integer.valueOf(textField1.getText()).intValue();
textField2.setText(Integer.toBinaryString(x));
}
}
}
No.2ベストアンサー
- 回答日時:
>>f = f * (2^n); //((2^n)の部分は別途計算しておく)
>のところがちょっとよく分からないのですが・・・
(2^n)で「2のn乗」を表したつもりですが、
Javaには累乗の演算子がないので、
int num;
num = 1;
for( int i=0;i<n;I++){ num *= 2; }
のように計算するとの意味です。
No.1
- 回答日時:
少数の下の方はきりがないので、nケタまで求めるとして、
float f;
int x;
String s;
f = f * (2^n); //((2^n)の部分は別途計算しておく)
x = (int)f;
s = Integer.toBinaryString(x);
としておいてsの末尾のnケタを得る、というのはどうでしょう。
「小数部を2倍した数を求め、1以上になれば1を立て、1未満になれば0を立てる。
そして、その数からまた小数部を取って繰り返す」
という方法もありますが、これだと実数計算を何回もやることになるので
あまり奨められません。
この回答への補足
>f = f * (2^n); //((2^n)の部分は別途計算しておく)
のところがちょっとよく分からないのですが・・・
最近Javaをはじめたばかりであまり詳しくないのですみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java java final 1 2022/06/10 22:49
- Java Java 配列<選挙> 4 2023/07/31 15:07
- 高校 小数の10進数を2進数に変換する方法 2 2023/07/27 23:17
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# クラスのメンバ変数を基準に並べ替えをしたい 5 2022/12/25 17:40
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
byte[] を long,float とかに...
-
int型のゼロ埋め
-
JAVA 文字コード変換
-
cookie から取り出すと文字化け
-
[Javascript]エンターキー押下...
-
Path型をString型へ変換する(Java)
-
ダブルクォーテーションのrepla...
-
javaの初歩的な質問です。
-
"\\n"を"<br>"にうまく変換でき...
-
Javaでの文字化けの検出
-
アスキーコード表を利用した文...
-
すみません。助けてください。 ...
-
UTF-8とUnicodeの互換性
-
下記問題の答えが"D"になる意味...
-
グレイコードの変換
-
半角カタカナをローマ字変換す...
-
COBOLで半角カナを全角カナに変換
-
EXCEL 特定の文字+英数文字を...
-
C言語のポインターに関する警告
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
Path型をString型へ変換する(Java)
-
カタカナをローマジに変換する。
-
int型のゼロ埋め
-
javascriptで文字列のsjis利用...
-
byte[] を long,float とかに...
-
C言語32bitから64bitの移行につ...
-
JavaのStringクラスに「外字」...
-
javaの初歩的な質問です。
-
Visual Basic でのコードをASCI...
-
UTF-8とUnicodeの互換性
-
文字列の比較
-
下記問題の答えが"D"になる意味...
-
[Javascript]エンターキー押下...
-
エクセルVBAで「〜」が表現でき...
-
byte配列をImageに変換する
-
javaで「全角が含まれているか...
-
IBM漢字コード⇒SJIS変換方法
-
Windows-31Jからutf-8への変換...
おすすめ情報