学习位运算编程的资源?

34

我是一名C++程序员,偶尔会遇到使用位运算符在位级别上操作的代码,但我对这些概念并不真正理解。因此我想找一份资源来帮助我学习,以至于它变成我的第二天性。有人知道好的资源吗?谷歌搜索没有提供我太多有用的信息。也许我不确定该寻找什么。 谢谢!


在高级语言中,我总是想念旋转进位指令。如果我有机会设计一种语言,它一定会有这个功能。 - Nosredna
你需要在哪种应用程序中使用它?我猜测是通讯类的。 - anon
拥有它后,进行多字节位移会更容易,无论你需要它来做什么。我会将这些东西转换成汇编代码来执行。也许我可以做一些高级的操作,比如允许对整数数组进行按位运算,而不是使用移位和旋转等低级操作。 - Nosredna
说起来,我为什么不能对数组执行<<或>>操作,让位移通过字节?为什么我不能在一个操作中对两个相同大小的int数组执行按位或操作? - Nosredna
6个回答

20

我非常喜欢Henry Warren的《Hacker's Delight》这本书。该网站提供第2章("基础知识")作为免费样品,尽管名称为基础,但提供了一些相当复杂的位操作技巧。这可能不是最好的起点,但一旦你开始熟悉位运算,它非常棒。


1
+1 for Hacker's Delight - 这是一本非常优秀的书籍,我经常参考其中快速执行各种算法的方法。 - DaveR
这本书很棒,点赞+1。虽然现在不是所有的位运算都是胜利者,但它仍然是迷人的材料。 - Andy J Buchanan
虽然有很多好的网页链接,但这本书正是我所需要的。谢谢! - JimDaniel
男人们,难道没有任何动画视频吗? - Muhammad Umer
@JimDaniel,Hacker's Delight这本书对你有帮助吗?我在位操作方面遇到了问题,正在寻找一本好书。 - Fatemeh Karimi
@FatemehKarimi 你得到了什么帮助? - Kid

8



2

我想可能有其他更好的资源,但我记得几年前在GameDev.Net上读过一篇文章。

C语言中的位运算


我刚刚链接了同样的教程,它在我的Google Chrome书签中。那是一个非常好的教程。 - Kredns

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接