 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 07.09.2006, 18:53 Titel: Bitoperationen |
|
|
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 |
|
 |
Eisbaer

Anmeldungsdatum: 16.10.2004 Beiträge: 354 Wohnort: Deutschland,Bayern
|
Verfasst am: 07.09.2006, 19:41 Titel: Logische Gatter - Logische Schaltungen - und or xor not ect. |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 07.09.2006, 22:21 Titel: |
|
|
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 |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 08.09.2006, 13:55 Titel: |
|
|
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 |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 08.09.2006, 14:17 Titel: |
|
|
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 |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 08.09.2006, 14:56 Titel: |
|
|
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 |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 08.09.2006, 15:04 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 09.09.2006, 19:09 Titel: |
|
|
Stormy hat Folgendes geschrieben: | Ja. Du hättest dir die Frage auch beantworten können, indem du die Funktion einfach ausprobierst !  | 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 mit
Wenn dir das Ergebnis keine Rätsel aufgibt, hast du es schon fast geschafft
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 |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 09.09.2006, 21:38 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 10.09.2006, 14:16 Titel: |
|
|
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  _________________
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 |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 10.09.2006, 14:36 Titel: |
|
|
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 |
|
 |
|
|
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.
|
|