![]() |
Mal wieder Java -> Delphi (Operator >>>)
Hallo,
ich übersetze gerade mal wieder eine Java-Klasse nach Delphi. Bisher hatte ich eigentlich keine Probleme, aber jetzt wird der Operator >>> (Rechts-Shift positiv) verwendet. In Delphi kenne ich nur shl und shr, was ist bei dem Operator anders?
Code:
ret_value = ret_value >>> 0x1d;
|
Re: Mal wieder Java -> Delphi (Operator >>>)
Wieso sollte was anders sein? Ich würde SHR() verwenden ..
|
Re: Mal wieder Java -> Delphi (Operator >>>)
Zitat:
|
Re: Mal wieder Java -> Delphi (Operator >>>)
>>> wird in Java benötigt, weil es dort keine vorzeichenlosen Datentypen gibt. >>> entspricht einem Shift, allerdings wird der Datentyp als vorzeichenlos interpretiert:
Code:
Da es in Delphi vorzeichenlose Datentypen gibt, kannst du einfach entsprechend casten und dann shr verwenden.
0x80000000 >> 1 = 0xC0000000
0x80000000 >>> 1 = 0x40000000 |
Re: Mal wieder Java -> Delphi (Operator >>>)
![]() Zitat:
Grüße Klaus |
Re: Mal wieder Java -> Delphi (Operator >>>)
Danke für die Erklärung :)
Also würde es sowas tun?
Delphi-Quellcode:
var
Res: Integer; begin [...] Res := Cardinal(Res) shr $1D; end; |
Re: Mal wieder Java -> Delphi (Operator >>>)
Ja.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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