Hex Methode

xeal

Mitglied
Hey,

hab zu einer Methode die ich im Internet gefunden habe eine Frage. Unzwar kann ich mit der ersten Zeile int value = ... noch nicht viel anfangen. Vielleicht könnte mir da einer weiterhelfen. Vielen Dank schon mal

Code:
 	 public static String toHexString(byte b)  
 	 { 
 		  int value = (b & 0x7F) + (b < 0 ? 128 : 0); 
 		 String ret = (value < 16 ? "0" : ""); 
 	 	 ret += Integer.toHexString(value).toUpperCase(); 
 	   return ret; 
 	  }
 
Hi,

die erste Zeile kann ich dir ungefähr erklären :

0x7F entspricht der dezimalen Zahl 127 ( also 7 "einsen"). Ein Byte liegt in Java im Bereich -127 bis 128. Wenn du nun dein Byte mit 127 "und" - verknüpfst, werden die ersten 7 bits zurückgeliefert. Wenn du nun noch überprüfst ob dein Byte negativ ist, addierst im true-Fall nochmal 128 ( == das 8 Bit ). Dann hast du die Zahl als int, umgewandelt in einen Wertebereich von 0 - 255.

Gruss,

Krösi
 
Zurück