Byte nach int

Hallo zusammen,
ich habe folgende Variable:
byte x = (byte)0xFF;
Jetzt möchte ich die Variable in einen Dezimalwert wandeln. Kann doch nicht so schwer sein, oder?
Wenn ich auf int caste bekomme ich -1. Das erste Bit wird wohl als Vorzeichenbit erkannt (–> Einerkomplement +1 und so).
Ich möchte aber 255 erhalten. Wie mach ich denn das? Die Klasse Integer bietet die Methode parseInt, aber da brauch ich FF als String. Kennt jemand das Problem?
Gruß
Jodus

byte x = (byte)0xFF;
FF als String. Kennt jemand das Problem?

Das Problem ist, dass du ein zu grossen Wert in einen
zu kleinen Datentyp reinstopfst.
Wertebereich fuer byte: -128 … 127

Gruss, Patrick

Hallo zusammen,
ich habe folgende Variable:
byte x = (byte)0xFF;

vielleicht so?
double dez = x.doubleValue();

byte x = (byte)0xFF;

vielleicht so?
double dez = x.doubleValue();

Allerhoechstens so:
double dez = new Byte(x).doubleValue();

Das fuehrt aber auch nicht zu dem gewuenschten Ergebnis.

Gruss, Patrick

Hi,

ganz einfach

byte b = (byte)0xFF;
int i = b;
i &= 0x000000FF;

Lars

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Das x vorher existiert hatte ich natürlich vorrausgesetzt.
Was gibt diese Methode doubleValue() denn überhaupt aus?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

byte x = (byte)0xFF;

vielleicht so?
double dez = x.doubleValue();

Das x vorher existiert hatte ich natürlich vorrausgesetzt.

x ist aber ein elementarer Datentyp und besitzt keine
Methoden => Kompilierfehler.
In deinem Beispiel musst du die Wrapper-Klasse bemuehen.

Was gibt diese Methode doubleValue() denn überhaupt aus?

Statt -1 gibt es -1.0

Richtige Antwort owT
.