我是一名C++程序员,偶尔会遇到使用位运算符在位级别上操作的代码,但我对这些概念并不真正理解。因此我想找一份资源来帮助我学习,以至于它变成我的第二天性。有人知道好的资源吗?谷歌搜索没有提供我太多有用的信息。也许我不确定该寻找什么。 谢谢!
我是一名C++程序员,偶尔会遇到使用位运算符在位级别上操作的代码,但我对这些概念并不真正理解。因此我想找一份资源来帮助我学习,以至于它变成我的第二天性。有人知道好的资源吗?谷歌搜索没有提供我太多有用的信息。也许我不确定该寻找什么。 谢谢!
我非常喜欢Henry Warren的《Hacker's Delight》这本书。该网站提供第2章("基础知识")作为免费样品,尽管名称为基础,但提供了一些相当复杂的位操作技巧。这可能不是最好的起点,但一旦你开始熟悉位运算,它非常棒。
您需要了解二进制系统的背景。 http://zh.wikipedia.org/wiki/二进制 提供了很好的概述。查看http://zh.wikipedia.org/wiki/位运算 以了解位运算。
我猜每本C/C++书都会解释位运算符。此外,网上也有很多教程。如果我是你,我会提高自己的谷歌搜索技能。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://www.arduino.cc/playground/Code/BitMath
http://irc.essex.ac.uk/www.iota-six.co.uk/c/e4_bitwise_operators_and_or_xor.asp
我想可能有其他更好的资源,但我记得几年前在GameDev.Net上读过一篇文章。
我同意上面对GameDev.net文章的回应。过去,这对我很有帮助。
这篇关于使用位掩码进行反规范化的文章(http://maggienelson.com/2009/02/denormalization-with-bitmasks/)也对我有用,其中包含数据库特定的示例,如果有用的话。