hallo,
ich versuche mich gerade lange (zu lange) an einer eigentlich einfachen Funktion. Vielleicht ist mein Kopf um diese Uhrzeit einfach schon außer Betrieb ^^
Jedenfalls möchte ich diese Funktion haben, die den Wert value auf count bytes ausgibt. (dass das ganze noch in einen Stream geschrieben wird ist unwichtig). Beispiel: Die Funktion bekommt count: 2 und value: 256 übergeben. In Binärdarstellung: 0000 0000 0000 0000 0000 0001 0000 0000. Für count = 2 tut diese Funktion schon das richtige: sie spaltet jeweils die beiden niederwertigsten bytes ab und schreibt sie in den Stream. Aber ich weiß nicht so ganz, wie ich das in Abhängigkeit von count hinbekommen soll.
Denn dafür müsste ja nur die zweite Zeile ausgeführt werden, dafür aber für count = 3 noch output.write(((value << 8) >>> 24));
Und das ganze mit if(count == 1)...else if(count = 2)... ist auch keine Lösung. Ideen?
ich versuche mich gerade lange (zu lange) an einer eigentlich einfachen Funktion. Vielleicht ist mein Kopf um diese Uhrzeit einfach schon außer Betrieb ^^
Code:
private void WriteBytes(int count, int value) throws IOException
{
output.write(((value << 16) >>> 24));
output.write(((value << 24) >>> 24));
}
Jedenfalls möchte ich diese Funktion haben, die den Wert value auf count bytes ausgibt. (dass das ganze noch in einen Stream geschrieben wird ist unwichtig). Beispiel: Die Funktion bekommt count: 2 und value: 256 übergeben. In Binärdarstellung: 0000 0000 0000 0000 0000 0001 0000 0000. Für count = 2 tut diese Funktion schon das richtige: sie spaltet jeweils die beiden niederwertigsten bytes ab und schreibt sie in den Stream. Aber ich weiß nicht so ganz, wie ich das in Abhängigkeit von count hinbekommen soll.
Denn dafür müsste ja nur die zweite Zeile ausgeführt werden, dafür aber für count = 3 noch output.write(((value << 8) >>> 24));
Und das ganze mit if(count == 1)...else if(count = 2)... ist auch keine Lösung. Ideen?