AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Auslesen ob Integer Positiv oder Negativ ist

Auslesen ob Integer Positiv oder Negativ ist

Ein Thema von nwnssolutionssoftware · begonnen am 9. Apr 2019 · letzter Beitrag vom 15. Apr 2019
Antwort Antwort
Seite 1 von 2  1 2   
nwnssolutionssoftware

Registriert seit: 6. Aug 2018
45 Beiträge
 
#1

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 9. Apr 2019, 14:39
Wunderbar letzteres hat funktioniert und natürlich
Zitat:
MinuteNegative Zahlen sind kleiner als 0.
Holger
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
496 Beiträge
 
Delphi 12 Athens
 
#2

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 11. Apr 2019, 18:32
Delphi-Quellcode:
function IsNegative(const X: Integer): Boolean;
asm
  SHR EAX, 31
end;
Dennis

Geändert von Dennis07 (11. Apr 2019 um 18:36 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.091 Beiträge
 
Delphi 12 Athens
 
#3

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 11. Apr 2019, 19:43
Delphi-Quellcode:
function IsNegative(const X: Integer): Boolean;
asm
  SHR EAX, 31
end;
Jaja, warum einfach, wenn's auch umständlich geht.
Nur Achtung: das funktioniert so nur unter Win32, unter Win64 gibt's nur ganze
asm Funktionen und kein Inline asm...
  Mit Zitat antworten Zitat
alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#4

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 12. Apr 2019, 08:01
Jaja, warum einfach, wenn's auch umständlich geht.
Da fehlen nur die Ironie-Tags.
Beim gestrigen Stammtisch wurden wurden noch mehr Lösungen dieser Art vorgeschlagen...
Alexander
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.079 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 12. Apr 2019, 08:05
Ich erinnere an den grandiosen Thread:
https://www.delphipraxis.net/123215-...umwandeln.html
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#6

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 12. Apr 2019, 08:40
Ich wusste, dass das irgendwann kommt
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#7

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 12. Apr 2019, 12:29
Jaja, warum einfach, wenn's auch umständlich geht.
Da fehlen nur die Ironie-Tags.
Beim gestrigen Stammtisch wurden wurden noch mehr Lösungen dieser Art vorgeschlagen...
Die einzig wahre Lösung laut deinem Thread:
StrToInt('-' + IntToStr(40))
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
496 Beiträge
 
Delphi 12 Athens
 
#8

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 12. Apr 2019, 22:45
Nur Achtung: das funktioniert so nur unter Win32, unter Win64 gibt's nur ganze
asm Funktionen und kein Inline asm...
Das ist doch eine ganze ASM-Funktion.
Und wer unter keinen Umständen ASM verwenden will, der kann das ganze auch als einzeiler in Pascal schreiben:

Delphi-Quellcode:
function IsNegative(const X: Integer): Boolean;
begin
  Result := Boolean(X shr 31);
end;
Ist jetzt wirklich kein Hexenwerk. Oder halt...

Delphi-Quellcode:
function IsNegative(const X: Integer): Boolean;
begin
  Result := X < 0;
end;
wie schon etliche male vorgeschlagen wurde.
Dennis
  Mit Zitat antworten Zitat
Zawuza

Registriert seit: 13. Apr 2019
1 Beiträge
 
#9

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 13. Apr 2019, 16:31
Komplexe Aufgabe, habe richtig lange nach einer Lösung in meinem Mathe-Lehrbuch gesucht, hab danach das programmiert:
Delphi-Quellcode:
function IsNegativ(X: Integer): boolean;
var i, j: integer;
    LBool: boolean;
    point: double;
begin
  point := Random(3000) - 1500;
  while True do
  begin
    point := point - ((sin(point*point)+point)/(2*point*cos(point*point)+1));
    if (Abs(point) < 0.00001) then
    begin
      Result := X < Round(point);
      break;
    end;
  end;
end;
Offensichtlich funktioniert das, kann aber unendlich lange dauern... Hoffe, das war (nicht) hilfreich!

Geändert von Zawuza (13. Apr 2019 um 16:35 Uhr) Grund: verständlicher
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.582 Beiträge
 
Delphi 7 Professional
 
#10

AW: Auslesen ob Integer Positiv oder Negativ ist

  Alt 13. Apr 2019, 17:27
@Zawuza

Wie kommt man auf so 'ne abgefahrene Idee?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:13 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