Datum: 01.07.2008 08:51
Hallo Zusammen Wahrscheinlich hat diese Frage der Eine oder Ander schon mal hier gestellt, aber ich möchte sie doch noch einmal stellen. Mit dieser Operation:
1<<3; |
schiebe ich eine 1 um 3 Stellen nach links. D.h. aus 0000 wird 0100. Kann ich jetzt um eine Null zu schieben
0<<3; |
schreiben? Gibt das dann aus z.B. 1111 --> 1011? Danke für Eure Antworten. Und bitte kein Verweis auf Bitmanipulation.
Datum: 01.07.2008 09:12
Nicht ganz. mit
1<<3 |
schiebst du eine 1 3 Stellen nach links. Eine 1 sieht vor dem Schieben allerdings so aus: 0001 daraus wird also 1000 mit
0<<3 |
schiebst du eine 0 um 3 Stellen nach links. Nun sieht eine 0 aber so aus: 0000 wenn du das 3 Stellen verschiebst bleibt es immer noch 0000. Was du meinst lässt sich so erreichen:
0b11111110 << 3 |
Du gehst diesmal also von einer Zahl aus, die bereits eine 0 an letzer Stelle hat. Wenn du diese Zahl 3 Stellen nach links verschiebst bekommst du 11110111
Datum: 01.07.2008 09:15
Olli wrote:
>0b11111110 << 3 |
> Du gehst diesmal also von einer Zahl aus, die bereits eine 0 an letzer > Stelle hat. Wenn du diese Zahl 3 Stellen nach links verschiebst bekommst > du 11110111 Nein, es wird 11110000 draus. Auf der rechten Seite werden immer nur Nullen nachgeschoben, eine Linksverschiebung einer vorzeichenlosen Zahl entspricht exakt einer Multiplikation mit 2. Bitmanipulation ist schon das richtige Stichwort, denn das ist die einzige Möglichkeit, sowas zu erreichen:
~(1 << 3) |
Datum: 01.07.2008 09:20
ups, joa da hascht recht... Ich sollte so früh am morgen nicht versuchen denken ;)
Datum: 01.07.2008 10:10
Ach so!! Jetzt hab ichs kappiert. Danke für Eure Antworten!!
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel


