Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Bitoperationen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 07.09.2006, 18:53    Titel: Bitoperationen Antworten mit Zitat

Ich muss gleich mal sagen, dass ich mich mit bitoperationen nicht sonderlich (praktisch garnicht) auskenne. In der Befehlsreferenz steht zum not:

"Vertauscht die Bits im Quellbyte; aus 1 wird 0 und aus 0 wird 1"

das ist ja schoen und gut, aber in welcher Situation moechte ich die bits in einem quellbyte vertauschen? was kann man mit not machen?

das selbe gilt auch fuer and, or, xor, usw - ich sehe oefter mal code in dem variable1 and variable2 vorkommt (abgesehen von if Bloecken) was bedeutet das?

Ich weiss es nervt, aber ich hab sowohl im MonsterFAQ wie auch in der Befehlsreferenz nachgeschlagen und nichts gefunden.
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Eisbaer



Anmeldungsdatum: 16.10.2004
Beiträge: 354
Wohnort: Deutschland,Bayern

BeitragVerfasst am: 07.09.2006, 19:41    Titel: Logische Gatter - Logische Schaltungen - und or xor not ect. Antworten mit Zitat

Hi,

Naja damit kann man Rechnen oder ganz Schnelle Entscheidungen auf Operationen treffen; So Rechnet zb. der Prozessor im PC nur mit 1 und 0.

Oder für Logische Schaltungen um Wertzustände zu Simulieren.

Es sind Logic-Gatter und diese können nun mal das Ergebnis aufgrund einer Veränderung am Eingangsgatter variieren.


zb. &-Gatter

(a) 0 ---
---------|----- 1 (c)
(b) 0 ---

Beide Zustände (a/b) = 0 ergibt Ausgang (c) = 1

1 ---
---------|----- 1
1 ---

Zustand 3:

1 ---
---------|----- 0
0 ---

Zustand 4:

0 ---
---------|----- 0
1 ---

Zustand Eingang (a / b) nicht gleich ergibt eine 0 am Ausgang (c)...


Es hängt immer von dem Logischen Gatter und dessen Wahrheitstabelle ab was du damit machen kannst.


Gruß Eisbaer
_________________
Eigene Webseite:
http://www.eisbaer-studios.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 07.09.2006, 22:21    Titel: Antworten mit Zitat

Schau dir einfach mal das folgende Bild an:
Wenn du genug Englisch kannst, lies ruhig mal die ganze Datei..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 08.09.2006, 13:55    Titel: Antworten mit Zitat

danke, ich verstehe auch grundsätzlich was diese operationen machen (bits invertieren usw) aber ich verstehe nicht wie mir das weiter hilft in der lage zu sein die Bits einer Variable zu invertieren.


function checkmouse(x, y, xmin, xmax, ymin, ymax) as integer
return not (x < xmin or x > xmax or y < ymin or y > ymax)
end function

return gibt an, dass er zurück ins hauptprogramm springen soll, aber
was macht hier zum beispiel retunr not ?
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 08.09.2006, 14:15    Titel: Antworten mit Zitat

NOT (Ausdruck) bedeutet die Umkehrung einer Bedingung. Also angenommen NOT a = b wäre dann a <> b. NOT ist 1, wenn diese Bedingung nicht eintrifft.
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 08.09.2006, 14:17    Titel: Antworten mit Zitat

und in diesem zusammenhang?
return not (x < xmin or x > xmax or y < ymin or y > ymax)
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 08.09.2006, 14:41    Titel: Antworten mit Zitat

Die Funktion gibt zurück, ob die Maus sich innerhalb eines Vierecks befindet oder nicht. Die Bedingung kann man wie folgt schreiben:

return (x > xmin and x < xmax and y > ymin and y < ymax)
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 08.09.2006, 14:56    Titel: Antworten mit Zitat

heisst dass, dass die funktion true oder 1 zurueck gibt wenn ja uns sonst false, oder was?
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 08.09.2006, 14:59    Titel: Antworten mit Zitat

Ja. Du hättest dir die Frage auch beantworten können, indem du die Funktion einfach ausprobierst ! zwinkern
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 08.09.2006, 15:04    Titel: Antworten mit Zitat

Sorry
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 09.09.2006, 19:09    Titel: Antworten mit Zitat

Stormy hat Folgendes geschrieben:
Ja. Du hättest dir die Frage auch beantworten können, indem du die Funktion einfach ausprobierst ! zwinkern
Stormy hat vollkommen recht..
Das ist jetzt nicht böse gemeint, sondern soll Folgendes bedeuten:
Alle Bit-Operationen finden irgendwie 'unsichtbar' statt.
Kein noch so gutes Torturial nimmt dir die 'Arbeit' ab, dir vorzustellen, was der Befehl im Einzelnen bewirkt..
..da hilft nur ausprobieren..
Nimm dir zwei Variablen a und b und weise ihnen Werte zu
..dann vergleiche
Code:
? a OR b
mit
Code:
?Not (a AND b)

Wenn dir das Ergebnis keine Rätsel aufgibt, hast du es schon fast geschafft grinsen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 09.09.2006, 21:38    Titel: Antworten mit Zitat

Tipp dazu: Sieh dir die Zahlen a und b im Binärmodus an (siehe BIN)
Achte darauf, dass die Zahlen mit gleicher Stellenzahl angezeigt werden, und dass sie am besten UTNEREINANDER dargestellt werden.
Möglich wäre eine solche 'Versuchsanordnung':

Code:
DIM AS INTEGER a, b, l

INPUT "Bitte geben Sie eine Zahl ein: ", a
INPUT "Bitte geben Sie eine zweite Zahl ein: ", b

l = IIF( a > b, LEN(BIN(a)), LEN(BIN(b)) )

PRINT BIN(a, l), a
PRINT BIN(b, l), b
PRINT STRING(80, 61);
PRINT BIN(a OR b, l), a OR b
PRINT STRING(80, 61);
PRINT BIN(NOT (a OR b), l), NOT (a OR b)

GETKEY


Du könntest auch ein GETKEY vor der Ausgabe von BIN(a OR b) machen, und so das Ergebnis 'vorhersagen'. Versuch's auch mit anderen Operatoren. Dank der Referenz solltest du auch hier in der Lage sein, das ergebnis vorherzubestimmen.

Eine Praktische Anwendung des ganzen hast du übrigens bei PUT: Dort gibt es als Aktionswörter u.a. AND, OR und XOR. Wenn du nach diesem Beispiel verstanden hast, wie AND & Co arbeiten, dann wird dir auch klar sein, warum hier das linke Kästchen weiß, und das Rechte blau ist:

Code:
SCREEN 14, 32   ' Grafikmodus 320x240, 32bpp.

DIM AS BYTE PTR l, r

l = IMAGECREATE(32, 32)
r = IMAGECREATE(32, 32)

LINE (0, 0)-(31, 31), &HFFFF00, BF    ' ein gelbes Kästchen
GET (0, 0)-(31, 31), l

LINE (0, 0)-(31, 31), &H0000FF, BF    ' ein blaues Kästchen
GET (0, 0)-(31, 31), r

CLS  ' Bildschirm leeren

PAINT (0, 0), &HFF00FF          ' Bildschirm Magenta färben

PUT (100, 100), l, OR
PUT (150, 100), r, AND

GETKEY

Frage: Wie würden die Kästchen bei anderen Aktionswörtern aussehen?


Viel Spaß dabei!




Have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 10.09.2006, 14:16    Titel: Antworten mit Zitat

Hi alfonsospringer,
ich habe dir hier mal ein kleines Spielzeug zum Ausprobieren gebastelt..
Kuck mal, ob dus gebrauchen kannst..
Gruß
ytwinky
[edit]
oops, sry alfonsospringer verlegen
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 10.09.2006, 14:41, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 10.09.2006, 14:36    Titel: Antworten mit Zitat

alfonsospringer mit f aber sonst vielen vielen dank (auch an alle anderen)
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz