Bool als Type??

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Daniel Knobe

Betreff: Bool als Type??

BeitragDo, Dez 15, 2005 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
gibt es den dateityp bool? also 0 oder 1??
Wenn ja wie ist das schlüsselwort dafür?

mfg
DKing

BtbN

BeitragDo, Dez 15, 2005 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
gibts, soweit ich weiß, nicht.
Aber es gibt das hier %1000100100110...

rema

BeitragDo, Dez 15, 2005 22:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein gibt es so nicht, aber du kannst:

b1:byte = true
b2:byte = false

wobei byte, short langsamer sind als int, darum ist:

b1:int = true
b2:int = false

empfehlenswerter.
 

klepto2

BeitragDo, Dez 15, 2005 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
bool selbst gibt es nicht, aber du kannst byte nehmen und es dann so machen:

Code: [AUSKLAPPEN]

local issomething:byte = true

IF issomething = true then
   print "hello world"
else
   Print "nope, there  isn't something"
Endif
Matrix Screensaver
Console Modul für BlitzMax
KLPacker Modul für BlitzMax

HomePage : http://www.brsoftware.de.vu

Hummelpups

BeitragDo, Dez 15, 2005 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum sollte Int schneller sein als Byte oder Short? oO

Wenn ich im Speicher 1 Byte anstatt 4 (!) allokiere kann ich
die ja wohl genauso schnell auslesen wenn nicht sogar schneller
als einen Int.

Ja, man kann true oder false in einem Int speichern, auch in einem Byte
oder Double, aber das is doch schwachfug. Unnützes reservieren des
Speichers. Da wo ich arbeite würde ich dafür geschlagen und getreten
werden Wink

Da es ja nun wirklich kein Bool bei BM gibt hätte ich auch byte
genommen aber das Byte oder SHort langsamer sein sollen als Int
halte ich für ein Gerücht.
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

rema

BeitragDo, Dez 15, 2005 23:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sage nur: lesen bildet... Da deine CPU sowiso 32bit ist (evt 64bit) rechnet dein Rechner immer schneller mit INT als mit BYTE. Den Byte wird in Int gewandelt, und da hast du ein Speedverlust. Darum musst du im Zeitalter von GB-Ram dir auch keine Sorgen machen um eventuel zuviel verbrauchten Speicher. Wir leben im WindowsXP-Zeitalter und nicht im Dos-Steinzeitalter...

http://www.blitzbasic.com/Comm...mp;hl=bool

Hummelpups

BeitragFr, Dez 16, 2005 6:38
Antworten mit Zitat
Benutzer-Profile anzeigen
hehe, okay.

Offtopic: Aber was ist mit Netzwerktechnick?
Da habe ich oft Bools die ich hätte versenden wollen.
Da muss ich dann auch immer auf Bytes zurück greifen.

Ich hatte überlegt ein Modul zu schreiben, in dem man ein Objekt erstellen
kann, das 8 mal true oder false ausgibt. So ann man wenn man mehrere
Bools hat, die man versenden möchte ein Bool Objekt erstellen
(das ja ein Byte benutzt) und da bist zu 8 zustände speichern.

Mit einer Methode z.B. getDec bekommt man dann wieder den Byte
wert der aus den Zuständen gebildet worden ist und kann dieses
dann als Byte versenden.

Ich glaube der Einfall ist ncht soo schlecht, was meint ihr dazu?

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

BtbN

BeitragFr, Dez 16, 2005 11:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist doch überhaupt kein Problem!
In ein Byte kann man 8 Boolsche werte setzen, da es ja aus 8 Bit besteht.
Das geht ganz einfach so:

Code: [AUSKLAPPEN]
Strict

Global var1:Byte = %10011010

Print ((var1 & %1       ) > 0)   '%1001101->0<-
Print ((var1 & %10      ) > 0)    '%100110->1<-0
Print ((var1 & %100     ) > 0)   '%10011->0<-10
Print ((var1 & %1000    ) > 0)   '%1001->1<-010
Print ((var1 & %10000   ) > 0)    '%100->1<-1010
Print ((var1 & %100000  ) > 0)   '%10->0<-11010
Print ((var1 & %1000000 ) > 0)   '%1->0<-011010
Print ((var1 & %10000000) > 0)   '%->1<-0011010


Schon hat man in ein Byte 8 Boolsche Werte gepackt.

TheShadow

Moderator

BeitragSa, Dez 17, 2005 12:17
Antworten mit Zitat
Benutzer-Profile anzeigen
bool in C++ verbratet 1 ganzes Byte - einzige Ausnahme war glaub ich ein bool-Array (bin jetzt nicht so sicher)
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group