私はC++のプログラマーです。ビットレベルで操作するためにビットごとの演算子を使用しているコードがいくつか出てくることがありますが、私はこれらの概念を実際に理解していません。だから私はそれが第二の性質になるようにそれをよく学ぶ手助けをするリソースが欲しいです。誰もこれのために良いリソースを知っていますか? Google検索では、私に多くの有用な情報が提供されていませんでした。たぶん私は何を探すべきか分からない。ありがとう!ここでビットプログラミングを学ぶためのリソースは?
答えて
私は絶対にヘンリーウォーレンのHacker's Delightが好きです。このWebサイトは、名前にもかかわらず、かなり洗練されたビット操作トリックを提供する無料のサンプルとして第2章( "基本")を提供しています。開始するのに最適な場所ではないかもしれませんが、ビット算術に慣れ始めると素晴らしいことです。
私は他の可能性がより良いリソースがある想像し、私はそこにそれを思い出しましたワ私は数年前にGameDev.Netでこの記事を読んだ。
私はちょうど同じものにリンクしました、それは私のGoogle Chromeのブックマークにあった。それは本当に良いチュートリアルでした。 – Kredns
あなたは二元系の背景を知っている必要があります。 http://en.wikipedia.org/wiki/Binary_numeral_systemには素晴らしい概要があります。ビット単位の操作については、を参照してください。
まあ、私はすべてのc/C++ブックがビット演算子を説明していると思います。 オンラインチュートリアルもたくさんあります。私があなただったら、私は私のGoogleのスキルを向上させるでしょう。 Deliciousにも優れた検索機能があります。ここで私が見つけたリンクの一部は以下のとおりです。
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://irc.essex.ac.uk/www.iota-six.co.uk/c/e4_bitwise_operators_and_or_xor.asp
私はGameDev.netの記事で上記の回答に同意します。それは過去の私のための良いものでした。
ビットマスクを使用した非正規化に関するこの記事(http://maggienelson.com/2009/02/denormalization-with-bitmasks/)は、私にとっても役に立ちました。また、データベース固有の例が含まれています。
- 1. Emacsを学ぶためのリソース
- 2. Zendフレームワークを学ぶための良いリソースは何ですか?
- 3. SQL Serverを学ぶためのリソースを探しています
- 4. SEOのテクニックを学ぶためのベストと簡潔なリソース/リンク?
- 5. 高度なデバッグ手法を学ぶためのヒントやリソース
- 6. Rails 3でAjaxを学ぶためのリソース
- 7. ビルドアウトを学ぶためのより良いリソース
- 8. ExcelでVBAプログラミングを学ぶためのリソース
- 9. PHP 5で高度なOOP機能を学ぶための優れたリソースは?
- 10. JavaScriptを学ぶのに良いリソース
- 11. "Close to the Metal" Web開発を学ぶための優れたリソース
- 12. エントリレベルのJavascriptを学ぶためのベストウェブサイト?
- 13. C++ newbie:ストリームについて学ぶための優れたリソース(書籍)?
- 14. Java Springアノテーションを学ぶための良いリソースを教えてください。
- 15. C#でスケジュール/予定システムを開発する方法を学ぶためのリソース?
- 16. RaphaelJsを学ぶための良いリファレンス
- 17. iCloudを学ぶためのヘルプ
- 18. Cを深く学ぶためのプログラミングリソース
- 19. チェリーピープルを学ぶためのヒント
- 20. SCRATCHからJava Webサービスを学ぶためのリソースが必要です
- 21. Spring.NETを学習するためのリソース
- 22. jQueryを学習するためのリソース
- 23. MSDeployを学習するためのリソース
- 24. 始めにHTMLを学ぶ前に学ぶべきこと
- 25. LINQの学習のためのリソース?
- 26. カテゴリ学習のためのリソース
- 27. mongodbとmongoidのための学習リソース
- 28. PHPプログラマーのためにC#またはVBを学ぶ?
- 29. PL/pgSQLを学ぶのに良いリソースは?
- 30. 高度なWCFを学ぶためには、どのような優れたリソースがありますか?
高レベルの言語では、私は常に回転スルーキャリー命令を見逃しています。私が今までに言語をデザインしていれば、それがあります。 – Nosredna
どのような種類のアプリが必要ですか?私はcomを推測している。 –
さて、マルチバイトシフトを行う方が簡単です。あなたが必要とするものは何でも。物事私は行うためにアセンブリにドロップダウンします。たぶん、シフトの代わりにキャリーを介して回転、私は整数の配列でビット単位で許可するような、より高いレベルを行うことができます。 – Nosredna