Entwickler-Ecke
Alle Sprachen - Alle Plattformen - Eine Java-Integerfunktion nach Pascal/Delphi übersetzen
Delphi-Laie - Di 07.07.20 00:09
Titel: Eine Java-Integerfunktion nach Pascal/Delphi übersetzen
Hallo Programmierfreunde!
Zur Zeit beschäftige ich mich damit, einen Java-Quelltext nach Pascal / Delphi zu übersetzen.
Im Java-Quelltext findet sich folgendes:
Quelltext
1: 2: 3:
| int e = 0; ... Integer.numberOfTrailingZeros(e) |
Freilich habe ich Erklärungen dazu schon gesucht, natürlich auch gefunden und zu verstehen versucht, aber so etwas "schräges" ist mir noch nie untergekommen, und so bin ich mit einem Übersetzungsversuch nach Pascal bzw. Delphi derzeit überfordert.
Weiß jemand, ob man überhaupt eine Chance hat, diese Funktion mit Pascal- bzw. Delphi-"Bordmitteln" nachzubilden, und, falls ja, wie?
Danke im voraus und Gruß
Delphi-Laie
Gausi - Di 07.07.20 06:21
Wenn ich die Erklärung von Google zu der Funktion richtig verstehe (d.h. es wird die Anzahl der Nullen hinter der letzten 1 in der Binärdarstellung ausgegeben), dann sollte das so gehen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function numberOfTrailingZeros(aInt: Integer): Integer; begin result := 0; while (result < 32) do begin if ((aInt shr result) and 1) = 0 then inc(result) else break; end; end; |
Zu beachten wäre noch das Vorzeichen-Bit, und ggf. abhärten gegenüber 64-Bit und sowas.
Delphi-Laie - Di 07.07.20 12:41
Gausi hat folgendes geschrieben : |
Wenn ich die Erklärung von Google zu der Funktion richtig verstehe |
Naja, wenn schon ein Programmierprofi hier ein wenig Vorsicht zeigt, ist klar, warum ich davor zunächst kapitulierte.
Vielen Dank, Gausi! Mal schauen, was sich daraus machen läßt.
Delphi-Laie - Di 07.07.20 20:33
Th69, vielen Dank auch Dir!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!