Package de.pakad

Class StdByte

java.lang.Object
de.pakad.stdtools.StdByte

public class StdByte extends Object
StdByte ist eine Hilfsklasse zur Handhabung vorzeichenloser Byte-Werte (Unsigned Bytes).

Motivation

Java stellt keinen nativen Datentyp für vorzeichenlose Bytes bereit. Der Datentyp byte ist immer vorzeichenbehaftet und deckt nur den Wertebereich -128 .. 127 ab.

Konzept

StdByte simuliert ein vorzeichenloses Byte im Wertebereich 0 .. 255:

  • Intern wird der Wert in einem byte gespeichert.
  • Beim Lesen wird der Wert korrekt als positiver int-Wert im Bereich 0 .. 255 interpretiert.
  • Die Bitdarstellung entspricht der eines echten vorzeichenlosen Bytes.
Typische Einsatzgebiete
  • Binärdatenverarbeitung
  • Protokoll- und Dateiformate
  • Low-Level-Programmierung im Rahmen von Java

Java-Version: 17 oder höher

Author:
Karsten Brodmann (kb@punkt-akademie.de)
  • Constructor Summary

    Constructors
    Constructor
    Description
    StdByte(int value)
    Erzeugt ein StdByte-Objekt aus einem ganzzahligen Wert.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Liefert den gespeicherten Wert als positive Ganzzahl.
    void
    setValue(int value)
    Setzt den Wert dieses StdByte anhand eines int-Wertes.
    Liefert die Bitdarstellung des gespeicherten (vorzeichenlosen) Byte-Wertes.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • StdByte

      public StdByte(int value) throws Exception
      Erzeugt ein StdByte-Objekt aus einem ganzzahligen Wert.

      Gültiger Wertebereich

      Der übergebene Wert muss im Intervall 0 .. 255 liegen (einschließlich).

      Parameters:
      value - ganzzahliger Wert im Bereich 0 .. 255
      Throws:
      Exception - wenn value außerhalb des gültigen Bereichs liegt
  • Method Details

    • setValue

      public void setValue(int value) throws Exception
      Setzt den Wert dieses StdByte anhand eines int-Wertes.

      Interne Darstellung

      Der übergebene int-Wert wird auf einen byte gecastet und intern gespeichert. Negative byte-Werte sind dabei zulässig und werden bewusst zur Darstellung des Bereichs 128 .. 255 genutzt.

      Parameters:
      value - ganzzahliger Wert im Bereich 0 .. 255
      Throws:
      Exception - wenn value nicht im Intervall 0 .. 255 liegt
    • getValue

      public int getValue()
      Liefert den gespeicherten Wert als positive Ganzzahl.

      Interpretation

      Der interne byte-Wert wird so interpretiert, als handele es sich um ein vorzeichenloses Byte. Das Ergebnis liegt immer im Bereich 0 .. 255.

      Returns:
      positiver int-Wert im Bereich 0 .. 255
    • toString

      public String toString()
      Liefert die Bitdarstellung des gespeicherten (vorzeichenlosen) Byte-Wertes.

      Format

      Die Rückgabe besteht aus genau 8 Zeichen ('0' oder '1'), beginnend mit dem höchstwertigen Bit.

      Beispiel

       new StdByte(5).toString()  →  00000101
       new StdByte(255).toString() → 11111111
       
      Overrides:
      toString in class Object
      Returns:
      Bitdarstellung als String mit Länge 8