Java Byte to Double?

... komplette Frage anzeigen

4 Antworten

Die Eingabe erfolgt in jedem Fall als Zahl, dabei kann die Form unterschiedlich sein, so lange das Literal gültig ist und der Datentyp nicht überlaufen wird:

  • Dezimalzahlen werden als normales Zahlliteral angegeben
  • Hexadezimalzahlen beginnen mit dem Präfix 0x
  • Oktalzahlen beginnen mit dem Präfix 0
  • Binärzahlen beginnen mit dem Präfix 0b
  • usw.

Der Byte-Datentyp kennt nur die ganzen Zahlen 0 - 255, danach beginnt er wieder bei 0 (oder rückwärts gezählt bei 255). Eine Kommastelle gibt es nicht.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von regex9
09.03.2016, 19:49

Ich korrigiere mich, der Zahlenbereich liegt bei -128 bis 127.

0

Mir erscheint nur sinnvoll, wenn du die Eingabe binär interpretierst.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von MadmanComp
06.03.2016, 21:16

Aber wenn ich die Eingabe als z.B "01110100" neme, sagt Java: NÖ! Das is Integer!

0

Falls du das Byte als vorzeichenlose Ganzzahl interpretieren willst, mach es so:

public static final double b2d(final byte b) {
return (double)(0xff & b);
}

Damit wird ein Byte wie 0b1000000 auch zu 128.0 anstatt zu -128.0. ;)

Antwort bewerten Vielen Dank für Deine Bewertung

Was glaubst du, was der Unterschied zwischen byte und int ist?

Die Speichergröße sonst nichts.

Klar, man kann das machen:

int a=12345;

byter b=0b01101011

Aber man kann genausogut machen

int c=0b1010101010010100011

byte d=50

oder, falls es dir noich nicht klar ist:

char e=0x5DEF

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von MadmanComp
06.03.2016, 22:16

Aber da scheint Eclipse was anderes zu wissen.

0