Ich schreibe eine Datei, um Informationen zu Orten auf einer Karte zu speichern, zum Beispiel wo ein Objekt spawnen würde. ich ein Byte in die Datei schreiben und innerhalb des Bytes würde es x und y-Koordinaten, wie würde ich sie aus derSpeichern mehrerer Werte in einem Byte
int typeData = stream.readByte();
int x = typeData >> 2;
int y = typeData & 3;
dieser Datei zu analysieren ist ein Beispiel dafür, was ich erreichen bin zu wollen. Was bin ich nicht sicher ist, was ich in den Schreibprozess zu tun haben, zum Beispiel
outStream.writeByte((x << 2) + (y | 3));
Dies ist ein Beispiel, wurde dieser Code nicht getestet und ist wahrscheinlich falsch.
Mit 2 Bits sind die einzigen möglichen Werte von "y" 0, 1, 2 und 3. Ist das genug? Es ist unklar, warum Sie das Gefühl haben, Werte in Bit-Strings wie diese zu packen. Speicher und Speicherplatz sind ziemlich billig und die Zuweisung eines ganzen "int" zu "x" und "y" sollte kein Problem verursachen. Sie müssen erklären, welches Problem Sie wirklich versuchen, hier zu lösen. –
Das Manipulieren von Bytes ist eine Übung aus der Assembler-Ära. Es gibt absolut keine Notwendigkeit, es heute zu tun. –
Ich habe nur den Parser für einige Informationen aus einer Datei, die ich versuche zu lesen, und möchte einen Schreiber dafür erstellen, damit ich mehr Informationen zu dieser Datei speichern kann, aber wäre es besser, dies neu zu schreiben? – JavaGuy