AGB  ·  Datenschutz  ·  Impressum  







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

Unterschied zwischen "not" und "false"?

Ein Thema von romber · begonnen am 11. Aug 2010 · letzter Beitrag vom 12. Aug 2010
Antwort Antwort
Seite 2 von 3     12 3      
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.167 Beiträge
 
Delphi 10 Seattle Professional
 
#1

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 19:23
OK, vielen Dank!
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 15:30
Wie meinst Du das?
Direkter Unterschied fuer die Augen (in asm)
http://www.delphipraxis.net/1041247-post5.html
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.810 Beiträge
 
Delphi 12 Athens
 
#3

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 16:08

Also, wer so was macht b := Boolean(3); , der nutzt auch undokumentierte API-Funktionen . Bei mir sind Bool immer wirklich Bool, dann wäre (ich mach sowas nicht) eine Frage nach true auch ohne Konsequenzen.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#4

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 16:25
@Sherlock: das ist nur die Kurzform ... stell dir mal vor du bekommst den Bolean als Result von einem ASM-Code oder irgendeiner anderen externen Quelle ala C++-Code und Co.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 18:19

Also, wer so was macht b := Boolean(3); , der nutzt auch undokumentierte API-Funktionen . Bei mir sind Bool immer wirklich Bool, dann wäre (ich mach sowas nicht) eine Frage nach true auch ohne Konsequenzen.

Sherlock
Das ist eine Frage der Definition. Der Wahrheitswert "wahr" ist nicht 0. Das heißt, der Boolean b := 3 ist ein gültiger Wahrheitswert. Abgesehen davon ist der Boolean ja auch 8 bit breit. Ich meine wenn du eine Spezifikation hast in der steht: Wenn auf der Leitung keine Spannung anliegt, dann ist das falsch, ansonsten wahr, und du guckst, ob eine negative Spannung anliegt, aber auch positive Spannungen anliegen können, dann hast du es falsch implementiert.

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 15:12
Beides ist gleich.

Nur das...
if irgendwas = false then
zum ko**en ist! Und nicht wirklich guter Stil.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 15:13
Ja

Tut man nicht if irgendwas = false then Das ist korrekt if not irgendwas then Den erzeugten Code kannst du über den Debugger rausfinden.
Wenn der gleich sein sollte (Compilermagic) dann ist es gleich schnell

Ansonsten einfach mal die Zeit messen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#8

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 15:13
if irgendwas = false then und

if not irgendwas then
der (Delphi 2006) compiler compiliert beides zu
Code:
test bl, bl
jnz xxx
Es ist also EXAKT gleich.

Wenn man allerdings if (irgendwas = true) then macht, wird dies
Code:
cmp bl,1
jz xxx
und if (irgendwas) then wird
Code:
test bl,bl
jz xxx
Also wie gesagt ist es egal was man bei false macht aber bei true sollte man aufpassen.
vlees91

Geändert von vlees91 (11. Aug 2010 um 15:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#9

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 15:20
Delphi-Quellcode:
var b: Boolean;
begin
  Memo1.Lines.Add('');
  Memo1.Lines.Add('b := false;');
  b := false;
  if b then Memo1.Lines.Add('if b then');
  if not b then Memo1.Lines.Add('if not b then');
  if b = false then Memo1.Lines.Add('if b = false then');
  if b = true then Memo1.Lines.Add('if b = true then');

  Memo1.Lines.Add('');
  Memo1.Lines.Add('b := true;');
  b := true;
  if b then Memo1.Lines.Add('if b then');
  if not b then Memo1.Lines.Add('if not b then');
  if b = false then Memo1.Lines.Add('if b = false then');
  if b = true then Memo1.Lines.Add('if b = true then');

  Memo1.Lines.Add('');
  Memo1.Lines.Add('b := 3;');
  b := Boolean(3);
  if b then Memo1.Lines.Add('if b then');
  if not b then Memo1.Lines.Add('if not b then');
  if b = false then Memo1.Lines.Add('if b = false then');
  if b = true then Memo1.Lines.Add('if b = true then');
end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Unterschied zwischen "not" und "false"?

  Alt 11. Aug 2010, 15:24
Möchte noch jemand etwas zum Thema "nicht auf true prüfen" beitragen? 55.071 Users left
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
Antwort Antwort
Seite 2 von 3     12 3      


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 15:01 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