Bitverschiebung passt nicht

may24

Bekanntes Mitglied
Hallo zusammen, ich hab da folgendes Problem:

Java:
byte a = (byte) 0x1F;
byte b = (byte) 0xFC;
int i = 0;

i = (i << 8) + a;
i = (i << 8) + b;

Nach Schritt 1 kommt im Debugger ganz richtig: 0xF1;
Aber nach Schritt 2 steht da: 0x1EFC

Wie kommt das denn ?! :shock:
 
Zuletzt bearbeitet:

BuddaKaeks

Bekanntes Mitglied
Ähm, beim ersten mal ist i = (0 << 8) + 31 -> Kommt 31 raus.
Beim 2. Mal kommt da (31 <<8) + -4 -> Kommt 7932 = 0x1EFC raus.

Was passt da nicht?
 

may24

Bekanntes Mitglied
Arrrggg. Schown wieder diese sch.. autokonvertierung.
Ok, wie "forme" ich aus den 2 bytes Unsigned ! ein int ? Sprich: wie muß die Befehlszeile aussehen damit ich das Ganze hintereinander reinschiebe ohne das da was berechnet wird
 

stg

Top Contributor
In Java sind aber alle ganzzahl-Typen signed! Wenn du den Wert, der da drin steht, anders interpretieren möchtest, steht dir das natürlich frei, aber dann musst du schon selbst hin- und herrechnen.
 

may24

Bekanntes Mitglied
Das versuche ich ja. Es sind halt raw-binär daten die ich aus einem File lese.
Also: wie schieb ich das korrekt zusammen ?
 

Mostly_Harmless

Aktives Mitglied
Java:
byte a = (byte) 0x1F;
byte b = (byte) 0xFC;
int i = 0;

i = (i << 8) + a;
i = (i << 8) + b;

Das Problem steckt in Zeile 6. Da b nur ein Byte lang ist, i aber vier Byte, muss b für die Addition erstmal auf vier Byte vergrößert werden. Da b negativ ist, werden die vorderen drei Byte mit 1en aufgefüllt. Daher steht in Zeile 6 zur Zeit: i = 0x00001F00 + 0xFFFFFFFC.
Um nun nach der Konvertierung von b nur das letzte Byte anzusprechen, könntest du b mit einer entsprechenden Maske verunden.

Java:
byte a = (byte) 0x1F;
byte b = (byte) 0xFC;
int i = 0;

final int maske = 0x000000FF;

i = (i << 8) | (a & maske); // i = 0x0000001F
i = (i << 8) | (b & maske); // i = 0x00001F00 + 0x000000FC = 0x00001FFC
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
0 BufferedInputStream auslesen mit Bitverschiebung Java Basics - Anfänger-Themen 8
richis-fragen TableColumModel passt nur die aktuell zu sehenden Spalten an Java Basics - Anfänger-Themen 4
CptK Überprüfen ob übergebenes Objekt zu Generics passt Java Basics - Anfänger-Themen 2
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
K GUI Entwicklung - Welche Richtung passt für euch zum mobilen Zeitalter? Java Basics - Anfänger-Themen 4
P Cäsear verschlüsselung irgendwas passt noch nicht Java Basics - Anfänger-Themen 2
H Datentypen 64 Bit passt in 32 Bit, wieso? Java Basics - Anfänger-Themen 9
D JPanel passt die Größe nicht an Java Basics - Anfänger-Themen 22
V in diesem Forum wurde mir am meisten geholfen, daher eine Frage die hier nicht passt. sry (VB Frage) Java Basics - Anfänger-Themen 3
D Erste Schritte Welches Framework passt zu mir ? Java Basics - Anfänger-Themen 1
Y Actionlistener passt nicht zu Dataset Java Basics - Anfänger-Themen 6
G JButton text passt nicht Java Basics - Anfänger-Themen 2
F Grafik auf Button passt nicht Java Basics - Anfänger-Themen 1
S was passt dem compiler nicht? Java Basics - Anfänger-Themen 2
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
Darkherobrine9 Import klappt nicht Java Basics - Anfänger-Themen 7
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
C Kann mir jemand sagen warum ich nicht mal rechnen kann ? Java Basics - Anfänger-Themen 32
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
A JavaFX-Anwendung läuft nicht mit Selenium WebDriver Java Basics - Anfänger-Themen 0
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
J Meine Mails gehen nicht raus Java Basics - Anfänger-Themen 8
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
S Ist JDK jetzt free oder nicht? Java Basics - Anfänger-Themen 5
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
M Methoden Methode 'wiederhole' nicht gefunden (Uebersetzungsfehler) Java Basics - Anfänger-Themen 1
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
M JButton setBackground() färbt nicht den ganzen Knopf Java Basics - Anfänger-Themen 4
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben