2009-07-22 13 views
27

Ich bin ein C++ Programmierer und gelegentlich werde ich auf Code stoßen, der bitweise Operatoren verwendet, um Dinge auf der Bit-Ebene zu manipulieren, aber ich habe kein wirkliches Verständnis dieser Konzepte. Ich hätte gerne eine Ressource, die mir hilft, es so gut zu lernen, dass es zur zweiten Natur wird. Kennt jemand dafür gute Ressourcen? Eine Google-Suche lieferte mir nicht viele nützliche Informationen. Vielleicht bin ich mir nicht sicher, wonach ich suchen soll. Vielen Dank!Ressourcen zum Erlernen der bitweisen Programmierung?

+0

In High-Level-Sprachen habe ich immer die Rotate-Through-Carry-Anweisungen verpasst. Wenn ich jemals eine Sprache entwerfe, wird sie das haben. – Nosredna

+0

Für welche Art von Apps brauchst du das? Ich schätze, Coms. –

+0

Nun, es ist leichter, Multibyte-Schichten zu machen. Was immer Sie brauchen. Dinge, die ich in die Montage fallen lasse. Vielleicht könnte ich anstelle der Verschiebung und des Rotierens durch Übertrag auch etwas Höheres tun, wie es bei Arrays von ganzen Zahlen bitweise möglich ist. – Nosredna

Antwort

17

Ich liebe Henry Warrens Buch Hacker's Delight absolut. Die Website dafür bietet Kapitel 2 ("Basics") als kostenloses Beispiel, das trotz des Namens einige recht raffinierte Bitmanipulations-Tricks anbietet. Es ist vielleicht nicht der beste Ort, um anzufangen, aber es ist fantastisch, wenn Sie anfangen, sich mit der Bit-Arithmetik anzufreunden.

+1

+1 für Hacker's Delight - es ist ein exzellentes Buch, auf das ich mich immer wieder beziehe für schnelle Möglichkeiten, alle Arten von Algorithmen auszuführen – DaveR

+0

Auch +1 für dieses großartige Buch. Obwohl nicht alles von der Bit-Twiddling heutzutage ein Gewinn ist, ist es immer noch faszinierende Dinge. –

+0

Obwohl es viele gute Weblinks gibt, scheint mir dieses Buch genau das zu sein, wonach ich suche. Vielen Dank! – JimDaniel

2

ich mir vorstellen, es gibt andere, möglicherweise bessere Ressourcen, aber ich erinnerte mich, dass es wa s ein Artikel dazu habe ich vor ein paar Jahren auf GameDev.Net gelesen.

BitWise Operations in C

+0

Ich habe gerade mit demselben verknüpft, es war in meinen Google Chrome-Lesezeichen. Es war ein wirklich gutes Tutorial. – Kredns

4
2

Ich stimme den obigen Antworten auf diesen GameDev.net Artikel zu. Das war in der Vergangenheit ein gutes für mich.

Dieser Artikel über Denormalisierung mit Bitmasken (http://maggienelson.com/2009/02/denormalization-with-bitmasks/) war auch für mich nützlich und enthält datenbankspezifische Beispiele, falls diese von Nutzen sind.

Verwandte Themen