AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datentyp "Int64" fehlerhaft?

Ein Thema von Delphi-Laie · begonnen am 18. Jun 2017 · letzter Beitrag vom 19. Jun 2017
Antwort Antwort
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

AW: Datentyp "Int64" fehlerhaft?

  Alt 19. Jun 2017, 15:45
Was hältst Du von dieser Idee?
Sehr viel, denn sie ist die Lösung meines Problemes. Ich hatte die Hoffnung schon aufgegeben. Ich hatte einfach 1:1 von der Vorlage übernommen und die Bedingungen so formuliert:

if x<=$FFFFFFFF then

usw. Dabei stieß ich dann bei Eingabewerten ab 2048 an die 64-Bit-Grenze, die schier unüberwindlich schien.

Jedenfalls sortiert das erste Timsort in diesem Projekt nun auch bei Elementeanzahlen ab 2048 so schnell, wie es sein soll, also auch hinsichtlich der Geschwindigkeit korrekt. Das ist Dein Verdienst, und dafür danke ich Dir sehr!

Danke auch an die anderen, die sich beteiligten! Meine Fehlervermutung hat sich wieder einmal nicht bestätigt. Was ich allerdings immer noch nicht begreife, ist, wieso wiederholte Multiplikationen oder shl-Befehle bei vorzeichenlosen Integertypen zum Ende in negative Werte einmünden (können).
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Datentyp "Int64" fehlerhaft?

  Alt 19. Jun 2017, 16:02
Was ich allerdings immer noch nicht begreife, ist, wieso wiederholte Multiplikationen oder shl-Befehle bei vorzeichenlosen Integertypen zum Ende in negative Werte einmünden (können).
Signed/Unsigned ist halt nur eine Darstellungssache. Wenn du mit unsigned int rechnest, aber am Ende das Ergebnis einem signed int zuweist, dann kann es halt passieren, dass das MSB als Vorzeichen (fehl-)interpretiert wird. Unter Umständen wird der Wert sogar noch sign-extended.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:53 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 by Thomas Breitkreuz