我在哪里可以找到C的位移指南?

我在哪里可以找到C的位移指南?,第1张

概述我看过 What are bitwise shift (bit-shift) operators and how do they work?,但我仍然觉得比特移位的概念很难理解. 有人能指出我在C中进行位移的更基本指导的方向.我希望它会很长,因为它需要覆盖整个主题. 我真的不明白,但我想学习它,所以任何帮助将不胜感激. 我正在学习k& r,这就是这个,所以我可以做练习.我理解基础知识,但我仍然无法 我看过 What are bitwise shift (bit-shift) operators and how do they work?,但我仍然觉得比特移位的概念很难理解.

有人能指出我在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的位移指南?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1233404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存