Hallo,
brauch mal nachhilfe..
hab drei Zahlen:
a: byte
b: short
c: int
diese sollen nun binär dargestellt werden:
- acht nullen
- dann acht bit für a
- dann 16 bit für b
- dann 32 bit für c
so das man dann 64 bit (=1 long) hat.
Variante 1: Alles in einen String konvertieren und dann parsen (ich weiss der Code ist mist, ist ja auch nur rumprobieren)
Der String (b_s) sieht übrigens RICHTIG aus.
Variante 2, etwas simpler und an sich korrekt: c+(b*(2^32))+(a*(2^48))
Aber bei beiden Varianten kommen unterschiedliche Werte raus!!!! Heul.
Warum, und was tun?
brauch mal nachhilfe..
hab drei Zahlen:
a: byte
b: short
c: int
diese sollen nun binär dargestellt werden:
- acht nullen
- dann acht bit für a
- dann 16 bit für b
- dann 32 bit für c
so das man dann 64 bit (=1 long) hat.
Variante 1: Alles in einen String konvertieren und dann parsen (ich weiss der Code ist mist, ist ja auch nur rumprobieren)
Java:
String b_a=Integer.toBinaryString(a);
String b_b=Integer.toBinaryString(b);
String b_c=Integer.toBinaryString(c);
while(b_a.length()<8)
b_a="0"+b_pid;
while(b_b.length()<16)
b_b="0"+b_vid;
while(b_c.length()<32)
b_c="0"+b_cid;
String b_s="00000000"+b_a+b_b+b_c;
long l=Long.parseLong(b_s, 2);
Der String (b_s) sieht übrigens RICHTIG aus.
Variante 2, etwas simpler und an sich korrekt: c+(b*(2^32))+(a*(2^48))
Aber bei beiden Varianten kommen unterschiedliche Werte raus!!!! Heul.
Warum, und was tun?