Zahlensysteme

Status
Nicht offen für weitere Antworten.
C

Carpe

Gast
Hallo ihrs,

Ich brauche dringens hilfe! Ich muss für nachkommastellen eine umrechnung in beliebige basen von 2 bis 16 in java programmieren... aber ich habe keine ahung wie ich das anstellen soll
Nun z.b. 0,456 würde zur basis 2 so ausgerechnet: 0,456 * 2 =0,912 -> 0
0,912 * 2 = 1,824 -> 1
0,824*2 = 1,648 -> 1

usw.

VG carpe
 
B

bygones

Gast
weiß nicht, ob ich es richtig verstanden habe, aber warum multiplizierst du nicht einfach die double zahl mit der int zahl (also die Bases) und castest das zu einem int:

double d = 0.7564;
int base = 2;

int resultat = (int)(d * base);

Das Ergebnis wäre dann 1

usw.
 
C

carpe

Gast
hi die Idee mit int resultat = (int)(d*base) ist gute nur wie kann ich jetzt 10 stellen berechnen? das problem ist ja das sich die zahl d ändert mit jeder berechnung ändert?! denke vielleicht mi einer forschleife ich weiß aber nicht wie ich das anstellen soll.....


2 · 0,456 = 0,912 --> Ziffer: 0
2 · 0,912 = 1,824 --> Ziffer: 1
2 · 0,8240000000000001 = 1,6480000000000001 --> Ziffer: 1
2 · 0,6480000000000001 = 1,2960000000000002 --> Ziffer: 1
2 · 0,29600000000000026 = 0,5920000000000005 --> Ziffer: 0
2 · 0,5920000000000005 = 1,184000000000001 --> Ziffer: 1
2 · 0,18400000000000105 = 0,3680000000000021 --> Ziffer: 0
2 · 0,3680000000000021 = 0,7360000000000042 --> Ziffer: 0
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben