Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
gast Gast
|
Verfasst am: 21. Jun 2005 23:44 Titel: datentyp |
|
|
hi zusammen
eine simple frage, an der ich mir die zähne ausbeiße:
ich brauche einen datentyp, der nur aus 0 und 1 besteht,
einen auf zwei werte reduzierten integer sozusagen,
bekomme aber die syntax nicht auf die reihe.
konkreter:
ich habe 4 variablen w1,..w4 und die sollen nur 0 oder 1 als werte annehmen,
keine bool-var mit true oder false wohlgemerkt...
mayday
gruß jens |
|
Nach oben |
|
|
|
dachdecker2 Moderator
Anmeldungsdatum: 11.06.2005 Beiträge: 106 Wohnort: Maintal / Hessen
|
Verfasst am: 22. Jun 2005 01:04 Titel: |
|
|
Wenn Intergerzahlen auf den Wahrheitswert geprüft werden, dann ergibt 0 false und !0 true. wenn du nur maximal eine 1 in einem integer haben willst, könntest du die betreffende Integervariable mit 1 bitweise UNDen. Dabei werden alle höheren bits auf 0 gesetzt und das LSB behält seinen Wert. _________________ In a world without walls and fences, who needs windows and gates? [Internet]
Gruß, dachdecker2 |
|
Nach oben |
|
|
ED209
Anmeldungsdatum: 30.05.2005 Beiträge: 122
|
Verfasst am: 22. Jun 2005 10:04 Titel: Re: datentyp |
|
|
gast hat Folgendes geschrieben: |
konkreter:
ich habe 4 variablen w1,..w4 und die sollen nur 0 oder 1 als werte annehmen,
keine bool-var mit true oder false wohlgemerkt...
|
Nimm einen char und lass die uebrigen Bits verfallen. _________________ +++++++++++++[>++++>+<<-]>.--.>---. |
|
Nach oben |
|
|
Tobias
Anmeldungsdatum: 15.02.2005 Beiträge: 149
|
Verfasst am: 22. Jun 2005 11:34 Titel: |
|
|
Eigentlich sind doch bools genau das, was du suchst. Wieso also nicht die? |
|
Nach oben |
|
|
ED209
Anmeldungsdatum: 30.05.2005 Beiträge: 122
|
Verfasst am: 22. Jun 2005 14:24 Titel: |
|
|
Tobias hat Folgendes geschrieben: | Eigentlich sind doch bools genau das, was du suchst. Wieso also nicht die? |
Wo gibts bools unter c? _________________ +++++++++++++[>++++>+<<-]>.--.>---. |
|
Nach oben |
|
|
gast Gast
|
Verfasst am: 22. Jun 2005 22:33 Titel: |
|
|
vielen dank an alle für eure bemühungen.
bool´s gibts in C wirklich nicht, lässt sich aber mit
enum boolean {false, true}
realisieren - hat man mir zumindest gesagt. bei diversen versuchen mußte ich aber feststellen, daß die dinger auch andere werte ausser 0 und 1 annehmen, was sie für meine zwecke unbrauchbar machte.
gruß
jens |
|
Nach oben |
|
|
ED209
Anmeldungsdatum: 30.05.2005 Beiträge: 122
|
Verfasst am: 23. Jun 2005 07:40 Titel: |
|
|
Deswegen ist ein char ja auch das was du suchst. _________________ +++++++++++++[>++++>+<<-]>.--.>---. |
|
Nach oben |
|
|
dachdecker2 Moderator
Anmeldungsdatum: 11.06.2005 Beiträge: 106 Wohnort: Maintal / Hessen
|
|
Nach oben |
|
|
ED209
Anmeldungsdatum: 30.05.2005 Beiträge: 122
|
Verfasst am: 23. Jun 2005 15:37 Titel: |
|
|
dachdecker2 hat Folgendes geschrieben: | hast du schonmal
BOOL boolsche_variable;
probiert?
|
error: `BOOL' undeclared (first use in this function)
Scheint es wenn nur in C++ zu geben, zumal ich Microsoft nicht als Referenz fuer korrektes C nehmen wuerde. _________________ +++++++++++++[>++++>+<<-]>.--.>---. |
|
Nach oben |
|
|
Cpt.Tanga Gast
|
Verfasst am: 07. Jul 2005 01:08 Titel: |
|
|
ED209 hat Folgendes geschrieben: | error: `BOOL' undeclared (first use in this function) |
ist auch in der windows.h oder windef.h definiert - und zwar auch blos als unsigned int wenn ich micht nicht stark irre.
dachdecker2 hat Folgendes geschrieben: | dann ergibt 0 false und !0 true. |
is genau emgekehrt . demnach koennte man in c auch ein anderes enem definieren: Code: | typedef enum {true=1,false=!true} bool; |
|
|
Nach oben |
|
|
|