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?
Antwort
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 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
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. –
Obwohl es viele gute Weblinks gibt, scheint mir dieses Buch genau das zu sein, wonach ich suche. Vielen Dank! – JimDaniel
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.
Ich habe gerade mit demselben verknüpft, es war in meinen Google Chrome-Lesezeichen. Es war ein wirklich gutes Tutorial. – Kredns
Sie werden den Hintergrund des binären Systems wissen müssen. http://en.wikipedia.org/wiki/Binary_numeral_system hat einen tollen Überblick. Betrachten Sie http://en.wikipedia.org/wiki/Bitwise_operation für bitweise Operationen.
Nun, ich denke, jedes C/C++ Buch erklärt bitweise Operatoren. Es gibt auch viele Tutorials online. Wenn ich du wäre, würde ich meine google Fähigkeiten verbessern. Delicious hat auch eine gute Suchfunktion.Hier sind einige der Links, die ich gefunden habe:
http://www.gamedev.net/reference/articles/article1563.asp
http://www.vipan.com/htdocs/bitwisehelp.html
http://graphics.stanford.edu/~seander/bithacks.html
http://en.wikipedia.org/wiki/Bitwise_operation
http://resnet.uoregon.edu/~gurney_j/jmpc/bitwise.html
http://www.cprogramming.com/tutorial/bitwise_operators.html
http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know/
http://www.codeproject.com/KB/cpp/bitbashing.aspx
http://www.eskimo.com/~scs/cclass/int/sx4ab.html
http://www.cs.utk.edu/~vose/c-stuff/bithacks.html
http://www.somacon.com/p125.php
http://www.fredosaurus.com/notes-cpp/expressions/bitops.html
http://goanna.cs.rmit.edu.au/~stbird/Tutorials/BitwiseOps.html
http://www.custard.org/~andrew/programming/bitwise/
http://www.codeproject.com/KB/cpp/Bitwise_Operation.aspx
http://bits.stephan-brumme.com/
http://en.wikipedia.org/wiki/Bit_manipulation
http://www.hackersdelight.org/HDcode.htm
http://www.arduino.cc/playground/Code/BitMath
http://irc.essex.ac.uk/www.iota-six.co.uk/c/e4_bitwise_operators_and_or_xor.asp
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.
- 1. Ressourcen zum Erlernen von Threading
- 2. Ressourcen zum Erlernen von SuiteCRM?
- 3. Ressourcen zum Erlernen von QML?
- 4. Empfehlungen zum Erlernen der Grundlagen der ereignisgesteuerten Programmierung?
- 5. Beste Ressourcen zum Erlernen von PyGame?
- 6. Gute Ressourcen zum Erlernen von PHP-Debugging
- 7. Erlernen Sie moderne C++ - Ressourcen?
- 8. Gute Ressourcen zum Erlernen von WMI in .NET?
- 9. Was sind gute Ressourcen zum Erlernen des Zend-Frameworks?
- 10. Ressourcen zum Erlernen des Lösens von Systemdesign-Interviewproblemen
- 11. Kennen Sie einige gute Ressourcen zum Erlernen von NoSQL-Datenbanken?
- 12. Was sind die besten Ressourcen zum Erlernen von Windows PowerShell?
- 13. Was sind einige Ressourcen zum Erlernen von MSIL?
- 14. Beste kostenlose Ressource zum Erlernen der fortgeschrittenen Batch-Datei-Nutzung?
- 15. Blackberry UI Programmierung Ressourcen
- 16. Ein Anfängerleitfaden zum Erlernen von JavaScript?
- 17. Was sind gute Ressourcen zum Erlernen der Verwaltung von Builds und Releases?
- 18. Was sind die besten Ressourcen zum Erlernen der Java Portlet-Spezifikation (JSR-168)?
- 19. Ein Lernspiel zum Lernen der Programmierung?
- 20. Ressourcen zum Lernen von Spring.NET
- 21. Gute Ressourcen zum Lernen Faktor
- 22. Welche sind die besten Ressourcen, um MSBuild zu erlernen?
- 23. Ressourcen zum Lernen der Kategorientheorie
- 24. Was sind einige empfohlene Ressourcen und Lernprogramme zum Erlernen des VTK-Bibliothek-Toolkits?
- 25. Ressourcen zum Lernen ASP.NET MVC 2.0
- 26. Ressourcen zum Erlernen des Entwerfens von Algorithmen, die von Nest Thermostat verwendet werden?
- 27. Was sind die besten Ressourcen, die Sie zum Erlernen von WCF gesehen haben? (Bücher, Websites usw.)
- 28. Gute Ressourcen zum Erlernen, wie MSI-Installer von WiX zu erstellen
- 29. GOOD Tutorial (s) zum Erlernen der ASP.Net Sicherheit/Authentifikation Framework
- 30. Beste Anleitung zum Erlernen der Wordpress Plugin-Entwicklung?
In High-Level-Sprachen habe ich immer die Rotate-Through-Carry-Anweisungen verpasst. Wenn ich jemals eine Sprache entwerfe, wird sie das haben. – Nosredna
Für welche Art von Apps brauchst du das? Ich schätze, Coms. –
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