AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [Java] Bit-Operationen mit signed ints und bytes
Thema durchsuchen
Ansicht
Themen-Optionen

[Java] Bit-Operationen mit signed ints und bytes

Ein Thema von JasonDX · begonnen am 17. Jan 2008 · letzter Beitrag vom 21. Jan 2008
 
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#1

[Java] Bit-Operationen mit signed ints und bytes

  Alt 17. Jan 2008, 12:56
Ich steh gerade ein bisschen vor einem Problem. Java an sich kennt ja keine unsigned ints, bytes, ect., sondern alle Ganzzahltypen brauchen ein Vorzeichen.
Jetzt habe ich allerdings eine Bitmaske, gespeichert in einem byte, und muss die auf einen int anwenden.
Als kleines Beispiel:
Code:
public int foo(int Value, byte Mask)
{
  return Value & Mask;
}
//...
foo(0x00FF00FF, (byte)-1)
Natürlich kann er keinen int und byte so kombinieren, also wandelt er das byte vorher in einen int um, und genau da entsteht das Problem:
Die beabsichtigten Werte sind nämlich: 0x00FF00FF & 0xFF, soll also 0x000000FF ergeben, passiert allerdings nicht, da er nicht 255, sondern -1 in einen int konvertiert, und somit 0xFFFFFFFF als int-Maske ausspuckt, was dann zu nem anderen Ergebnis führt.

Das einzige, das mir derzeit einfällt ist, dass ich der Maske vorher das Vorzeichen-Bit nehme, dann in einen int konvertiere, falls vorher vorhanden das Vorzeichenbit rein"odere", und dann die beiden Werte ver"unde". Aber irgendwie scheint mir diese Möglichkeit für mein Vorhaben etwas aufwändig, und relativ umständlich, gibt es hier nicht einen anderen, einfacheren Weg?

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz