Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Datentypen von String zu Byte und wieder zurück (https://www.delphipraxis.net/192538-datentypen-von-string-zu-byte-und-wieder-zurueck.html)

Blup 3. Mai 2017 14:06

AW: Datentypen von String zu Byte und wieder zurück
 
Der zweite Operand ist ein Byte, welches zusätzlich maskiert ist.

1.Operand2.Operand signifikante Bitsentspricht
Byte3a shl (b mod 8)
Word4a shl (b mod 16)
Longword5a shl (b mod 32)
Int646a shl (b mod 64)

Byte(-1) -> 255
(255 mod 32) -> 31

(Longword(a) shr -1) -> (a shr 15)

Das funktioniert also nicht, abgesehen davon müsste die Maske für B $2 sein.

Blup 3. Mai 2017 15:12

AW: Datentypen von String zu Byte und wieder zurück
 
So kann es funktionieren und ist übersichtlich:
Delphi-Quellcode:
 for i := 31 downto 0 do
 begin
   Result := Result shl 1;
   Result := Result or ((B shr i) and $1);
   Result := Result shl 1;
   Result := Result or ((A shr i) and $1);
 end;

Blup 6. Jun 2017 10:43

AW: Datentypen von String zu Byte und wieder zurück
 
Richtig müsste es heißen: (Longword(a) shr -1) -> (a shr 31)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz