有人能指出我在C中进行位移的更基本指导的方向.我希望它会很长,因为它需要覆盖整个主题.
我真的不明白,但我想学习它,所以任何帮助将不胜感激.
我正在学习k& r,这就是这个,所以我可以做练习.我理解基础知识,但我仍然无法做正确的位移 *** 作.
编辑这里是K& R的表现让我难过的
练习2-6:写一个函数setbits(x,p,n,y),它返回x,其中n位位于位置p,位于y的最右边n位,其他位保持不变.
练习2-7:写一个函数invert(x,n),其中n位以poisiton p反转开始(即1变为0,反之亦然),其他不变.
练习2-8:写一个函数rightrot(x,返回整数x的值,向右旋转n位位置
练习2-9:在二进制补码系统中,x& =(x-1)删除x中最右边的1位.解释原因,使用此观察来编写更快的bitcount版本
这些是来自k& R(c编程语言)书籍的练习,它是最好的c书,但是我在理解位移时遇到了麻烦,所以我遇到了这些练习的问题.
解决方法 比特移位只不过是字面意思:向左或向右移动给定序列中的所有比特.您需要记住的是,每个十进制数(如6,7,3,2)都表示为计算机内存中的一系列位.所以如果你在一段C代码中找到这样的东西:
(7 >> 1)
这意味着7的基础二进制表示中的位将向右移位1个位置.
我认为您引用的链接中的解释非常清楚.也许你自己在纸上写下一系列的比特并按照引用的链接 *** 纵它们可以提供帮助.
或许您可能还不太了解计算机如何在内部处理数字.在这种情况下,在学习位移之前,您需要阅读相关内容.
总结以上是内存溢出为你收集整理的我在哪里可以找到C的位移指南?全部内容,希望文章能够帮你解决我在哪里可以找到C的位移指南?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)