AGB  ·  Datenschutz  ·  Impressum  







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

Bitweise Operatoren

Ein Thema von THuman · begonnen am 31. Jan 2006 · letzter Beitrag vom 8. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
THuman

Registriert seit: 6. Jan 2006
5 Beiträge
 
#1

Bitweise Operatoren

  Alt 31. Jan 2006, 16:56
Hallo,
ich versuche gerade bitweise Operatoren in Delphi zu benutzen, aber ich bekomme es nicht richtig hin.
So soll es in etwa "aussehen":
Delphi-Quellcode:
const
  flagA = 2;
  flagB = 4;
  flagC = 8;

var flags: integer;

flags := flagA + flagB;
IF (flags AND flagA) THEN ..
Es erscheint immer der Fehler "Ausdruckstyp muss Boolean sein" für die Zeile,in der das then steht.

Wäre nett, wenn mir damit jemand helfen könnte
Danke!
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Bitweise Operatoren

  Alt 31. Jan 2006, 16:59
Hallo,
IF (flags AND flagA) = flagA THEN .. So stimmt's.

Gruß
xaromz
  Mit Zitat antworten Zitat
THuman

Registriert seit: 6. Jan 2006
5 Beiträge
 
#3

Re: Bitweise Operatoren

  Alt 31. Jan 2006, 17:15
Danke für die schnelle Antwort, jetzt funktioniert es!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Bitweise Operatoren

  Alt 31. Jan 2006, 18:21
Moin THuman,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Was mir an Deinem Code noch aufgefallen ist:

flags := flagA + flagB; Du solltest bei Flags niemals mit + (oder evtl. -) arbeiten, nur mit OR bzw. AND, da Du die Zahlenwerte nicht immer kennen kannst, und es durchaus die Möglichkeit gibt, dass ein Flag mehrere gesetzte Bits hat.
Dann kann es bei normalen arithmetischen Operatoren zu unvorhersagbaren Ergebnissen kommen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
THuman

Registriert seit: 6. Jan 2006
5 Beiträge
 
#5

Re: Bitweise Operatoren

  Alt 1. Feb 2006, 18:49
Ok, danke für den Tipp! Dazu habe ich auch noch was in einem älteren Thread gelesen.
  Mit Zitat antworten Zitat
Benutzerbild von Glühwürmchen
Glühwürmchen

Registriert seit: 31. Okt 2003
Ort: Pfinztal
156 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Bitweise Operatoren

  Alt 7. Sep 2006, 15:03
sorry,

wie kann man einen eigenen Beitrag wieder löschen ?
Gruß Glühwürmchen
<><
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#7

Re: Bitweise Operatoren

  Alt 7. Sep 2006, 15:07
Zitat von Glühwürmchen:
sorry,

wie kann man einen eigenen Beitrag wieder löschen ?
Garnicht. Wobei ich nicht mal finde, das du dich entschuldigen müsstest. Dein Beitrag war durchaus konstruktiv und stellte nur eine Alternative zu xaromz' Vorschlag dar.
  Mit Zitat antworten Zitat
Benutzerbild von Glühwürmchen
Glühwürmchen

Registriert seit: 31. Okt 2003
Ort: Pfinztal
156 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Bitweise Operatoren

  Alt 7. Sep 2006, 15:20
Das bruhigt mich einigermaßen.
Ich kam nämlich beim Schreiben mächtig durcheinander...


Zu dem Thema bitweise "operieren" hätte ich jetzt auch noch ne Frage:

Delphi-Quellcode:
iKlein := 1;
iGross := 9;
Ist es egal ob ich schreibe

IF iKlein AND iGross > 0 THEN ... oder

IF iGross AND iKlein > 0 THEN ... ?
Gruß Glühwürmchen
<><
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#9

Re: Bitweise Operatoren

  Alt 7. Sep 2006, 15:24
Ja ist es. Da beim Ergebnis nur noch die Bits gesetzt sind, die bei beiden gesetzt waren.
  Mit Zitat antworten Zitat
Benutzerbild von Glühwürmchen
Glühwürmchen

Registriert seit: 31. Okt 2003
Ort: Pfinztal
156 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Bitweise Operatoren

  Alt 7. Sep 2006, 15:26
Danke.

Eigentlich wußte ich das schon mal.
Aber neulich versuchte ich das Bitweisige Operieren meinem Cheffe näher zu bringen mit dem Erfolg, daß er mich Bit für Bit verunsichert und durcheinander gebracht hat.

Jetzt sehe ich aber wieder klar.
Gruß Glühwürmchen
<><
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz