Bitschieberei: binärwert umdrehen ....

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Arne2002
Beiträge: 99
Registriert: 21.10.2002 18:49:55
Kontaktdaten:

Bitschieberei: binärwert umdrehen ....

Beitrag von Arne2002 » 25.05.2004 17:39:14

hallo!
vielleicht kann mir jemand bei meinem problem weiter helfen ( btw... hoffentlich das richte Forum hier ;) )

also, folgender binärwert: 0000 0000 1110 1111 ,
soll durch nand, nicht-or oder so zu folgendem ergebnis kommen:

0001 0000 ,also die hinteren 8 bit negiert.
die ausgabe sollte so aussehen 0001 0000 1111 1111 (weil nur die hinteren 8 bit wichtig sind und nach möglichkeit nach vorne sollten)..
es kann auch mit dezimalzahlen gerechnet werden (vorzeichen gehen auch)....

ich kann es irgendwie nicht verständlicher ausdrücken,sry....
kann mir jemand weiter helfen?
es geht nur um die mathematische lösung ;)

Gruß

Arne
Der sicherste Rechner ist ein ausgeschalteter!

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 25.05.2004 17:57:12

0000 0000 1110 1111
würd ich mal per
1111 1111 1111 1111
xor-Verknüpfen - das gibt dann
0000 0000 0001 0000

dann multiplizieren wird das mit 2^8 (könntest auch 8 bit nach links schieben - geht meist mit dem << Operator oder so ;))
gibt das da:
0001 0000 0000 0000

und dann addierst du noch die paar fehlenden einsen (or-Verknüpfung z.B. mit 0000 0000 1111 1111)

MfG Peschmä

P.S. hoffentlich blubber ich da keinen Blödsin :?

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 25.05.2004 18:03:34

peschmae hat geschrieben: P.S. hoffentlich blubber ich da keinen Blödsin :?
Nene... stimmt so :)

Benutzeravatar
se8i
Beiträge: 1017
Registriert: 08.11.2002 17:02:20
Wohnort: nähe Karlsruhe
Kontaktdaten:

Beitrag von se8i » 25.05.2004 18:03:45

peschmae hat geschrieben:0000 0000 1110 1111
würd ich mal per
1111 1111 1111 1111
xor-Verknüpfen - das gibt dann
0000 0000 0001 0000
Das wage ich jetzt mal zu bezweifeln:
A B (A XOR B)
0 0 0
0 1 1
1 0 1
1 1 0
Das ergebnis wäre dann 1111 1111 0001 0000
du solltest wohl eher mit 0000 0000 1111 1111 XORen (tolles Wort)
peschmae hat geschrieben:dann multiplizieren wird das mit 2^8 (könntest auch 8 bit nach links schieben - geht meist mit dem << Operator oder so ;))
gibt das da:
0001 0000 0000 0000

und dann addierst du noch die paar fehlenden einsen (or-Verknüpfung z.B. mit 0000 0000 1111 1111)

MfG Peschmä

P.S. hoffentlich blubber ich da keinen Blödsin :?
Fast keinen Blödsinn geblubbert ;)
Im endeffekt kommt es ja auf's gleiche raus.
Allerdings sind bit-schiebereien immer schneller als multiplikationen (soweit ich weiß ;) )
Jazz is not dead, it just smells funny.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 26.05.2004 11:19:03

Stimmt :)

Naja, eigentlich finde ich so Bit-Schiebereien recht plöde ;)

MfG Peschmä

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 26.05.2004 11:19:34

se8i hat geschrieben: Das wage ich jetzt mal zu bezweifeln:
Hoppla...
Wie recht tu hast =)

Meine Zeit als Elektroniker liegt schon ein paar Jahre in der Vergangenheit *g*

Benutzeravatar
se8i
Beiträge: 1017
Registriert: 08.11.2002 17:02:20
Wohnort: nähe Karlsruhe
Kontaktdaten:

Beitrag von se8i » 26.05.2004 13:51:46

peschmae hat geschrieben:Stimmt :)

Naja, eigentlich finde ich so Bit-Schiebereien recht plöde ;)

MfG Peschmä
naja, es ist eben sehr schnell, und irgendwie doch auch ganz logisch, oder?
wenn du im 10er System mit 100 multiplizierst, hängst du doch auch nur 2 Nullen an, oder?
Jazz is not dead, it just smells funny.

Benutzeravatar
Arne2002
Beiträge: 99
Registriert: 21.10.2002 18:49:55
Kontaktdaten:

Beitrag von Arne2002 » 26.05.2004 16:48:14

:idea:
hey danke!
das hilft mir doch nen ganzes stück weiter :D:D:D

Gruß

Arne
Der sicherste Rechner ist ein ausgeschalteter!

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 27.05.2004 18:01:02

se8i hat geschrieben:naja, es ist eben sehr schnell, und irgendwie doch auch ganz logisch, oder?
wenn du im 10er System mit 100 multiplizierst, hängst du doch auch nur 2 Nullen an, oder?
Schon so - aber dass ich um mit 2 zu multiplizieren ne 0 anhängem muss - das kann ich irgendwie noch nicht native. Wird emuliert - und emulierte Sachen sind lahm (siehe bochs) :roll:

MfG Peschmä

Benutzeravatar
se8i
Beiträge: 1017
Registriert: 08.11.2002 17:02:20
Wohnort: nähe Karlsruhe
Kontaktdaten:

Beitrag von se8i » 27.05.2004 19:19:34

peschmae hat geschrieben:
se8i hat geschrieben:naja, es ist eben sehr schnell, und irgendwie doch auch ganz logisch, oder?
wenn du im 10er System mit 100 multiplizierst, hängst du doch auch nur 2 Nullen an, oder?
Schon so - aber dass ich um mit 2 zu multiplizieren ne 0 anhängem muss - das kann ich irgendwie noch nicht native. Wird emuliert - und emulierte Sachen sind lahm (siehe bochs) :roll:

MfG Peschmä
Da fällt mir folgender Spruch ein:

there are 10 different kind of people, those who understand binary thinking, and those who don't :D
Jazz is not dead, it just smells funny.

Antworten