vfl_freak
Premium-User
Hallo zusammen,
ich bin hier in meinem Projekt auf eine Altlast gestoßen, die möglicherweise Probleme macht. Es existiert eine kleine Hilfsfunktion, die bitweise (also innerhalb einer Schleife) prüfen soll, ob ein bestimmtes Bit in 2 verschiedenen Bytes gleich ist :
Der Aufruf erfolgt jedoch mit der Schleifenvariablen - sprich einem Integer :
Ich verzweifle gerade bei dem Versuch, den Integer sauber nach BYTE zu casten ...
Die einfache C-Variante (BYTE)iMLZaehler liefert ebenso wenig die gewünschten Ergebnisse wie ein static_cast<BYTE>(iMLZaehler) ....
Mal werden Änderungen richtig erkannt, mal nicht - ohne für mich nachvollziehbare Logik
Meine Frage:
(a) wie muss ich sauber von Integer auf BYTE casten
(b) oder alternativ: gibt es eine besser Lösung für den bit-Vergleich, als die oben genannte Methode
Bin für jede Hilfe/Anregung dankbar ....
Gruß
Klaus
ich bin hier in meinem Projekt auf eine Altlast gestoßen, die möglicherweise Probleme macht. Es existiert eine kleine Hilfsfunktion, die bitweise (also innerhalb einer Schleife) prüfen soll, ob ein bestimmtes Bit in 2 verschiedenen Bytes gleich ist :
C++:
bool isBitsEquality( BYTE bVal1, BYTE bVal2, BYTE theBit )
{
if( (bVal1 & (1 << theBit)) == (bVal2 & (1 << theBit)) )
{
return true;
}
else
{
return false;
}
}
Der Aufruf erfolgt jedoch mit der Schleifenvariablen - sprich einem Integer :
C++:
for( int iMLZaehler = 0 ; iMLZaehler < 8; iMLZaehler++ )
{
if( isBitsEquality( byte_1, byte_2, iMLZaehler) )
{
....
}
}
Ich verzweifle gerade bei dem Versuch, den Integer sauber nach BYTE zu casten ...
Die einfache C-Variante (BYTE)iMLZaehler liefert ebenso wenig die gewünschten Ergebnisse wie ein static_cast<BYTE>(iMLZaehler) ....
Mal werden Änderungen richtig erkannt, mal nicht - ohne für mich nachvollziehbare Logik

Meine Frage:
(a) wie muss ich sauber von Integer auf BYTE casten

(b) oder alternativ: gibt es eine besser Lösung für den bit-Vergleich, als die oben genannte Methode

Bin für jede Hilfe/Anregung dankbar ....
Gruß
Klaus
Zuletzt bearbeitet von einem Moderator: