AGB  ·  Datenschutz  ·  Impressum  







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

Boolean in Integer umwandeln

Ein Thema von xZise · begonnen am 4. Jan 2007 · letzter Beitrag vom 5. Jan 2007
 
Popov
(Gast)

n/a Beiträge
 
#14

Re: Boolean in Integer umwandeln

  Alt 5. Jan 2007, 19:29
Bevor jetzt etwas ausbricht was nicht geplant was - meine Variante war nur Spaß. Das war so weit von richtig (richtig im Sinne von Umrechnungsfunktion für BoolToInt), daß mich die Reaktion geradezu gewundert hat. Es sollte nur die Möglichkeiten zeigen was so alles möglich ist. Dabei kommt zwar was interessantes raus, ist aber keine Umrechnungsfunktion.

Zitat von xaromz:
Dann will ich auch mal klugscheißen. Boolean ist nicht, ich wiederhole, nicht definiert als Null und Eins. Das mag für die Werte True und False unter Delphi gelten, aber damit hat sich das Ganze schon wieder.
Nun, das Problem ist, daß der kleinste Wert den man speichern kann ein Byte ist. Das bedeutet aber nicht, daß es eine Rolle spielt, bzw. spielen sollte. Ein True ist True und False ist False. Hier ist True 1, in einigen anderen Sprachen ist es auch mal -1, und dann gibt es Sprachen mit ganz verrückten Bools wo es sogar ein Nil mit 2 (oder war das -2?) gibt, für den Fall, daß es noch keine Entscheidung gab.

Aber um auf dein Einwand zu kommen

Zitat:
Der einzige Wert, der bei Boolean definiert ist, ist Null, was als False interpretiert wird. Folglich ist auch Zwei nicht False, also als True zu interpretieren.
Das ist nicht richtig im Sinne von Boolean.

Nur weil etwas nicht definiert ist, bedeutet es nicht, daß es eine Wahlmöglichkeit gibt. Ein Boolean hat zwei Zustände, nicht drei und auch nicht vier. Zwei. Ob nun False für 0 steht und True für 1, 2 oder 3 ist egal. Nicht egal ist ob True für 1 und 2 und 3 steht. Tut es nicht. Ein Boolean steht für zwei Zustände. Es kann für 0 und für 7 stehen, aber dann nicht für 1. Also, nur weil es nicht knallt wenn ich Inc(Bool) mache, bedeute es nicht, daß True alles ungleich 0 ist, dann dann wäre die Boolean Definition nicht, daß es eines von zwei Zuständen ist, sondern Null und allem Anderen.

Deshalb kann man Inc(Bool) als Programmierfehler ansehen.

Anders sieht es aus wenn du nicht von Delphi/Pascal sprichst, sondern allgemein. Da könnte False für 12 und True für 27 stehen. Hauptsache zwei Zustände. Aber wir sind hier in einem Programmierforum für Delphi.
  Mit Zitat antworten Zitat
 


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 22: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