Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Von C nach Delphi

  Alt 9. Mär 2021, 15: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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