Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Von C nach Delphi

  Alt 9. Mär 2021, 16:00
Delphi-Quellcode:
x := (Integer(BArray[7]) shl 24)
  or (Integer(BArray[6]) shl 16)
  or (Integer(BArray[5]) shl 8);
  or BArray[4];
Bevor du die Bits verschieben kannst, mußt du eventuell den Typ auch noch auf die richtige Größte bringen, damit die Bits nicht rausrutschen.

Rein logisch war auch im C das + schon nicht ganz richtig und es sollte eigentlich ein OR sein.
Denn wenn im BArray[7] das größte Bit gesetzt ist, dann wird Dieses zum Vorzeichen des Bei Google suchenZweierkomplement und nachfolgend die arithmetische Addition der anderen Bytes geht schief.
$2B or not $2B

Geändert von himitsu ( 9. Mär 2021 um 16:03 Uhr)
  Mit Zitat antworten Zitat