向学生解释位操作的最佳方式是什么?
我目前正计划举办一个关于微控制器应用程序优化 C 代码的培训研讨会。
目前我困惑于如何解释 C 中的位操作?
我确切地不想引导学生了解位结构,但引导他们有效地使用位操作......
有什么建议吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我目前正计划举办一个关于微控制器应用程序优化 C 代码的培训研讨会。
目前我困惑于如何解释 C 中的位操作?
我确切地不想引导学生了解位结构,但引导他们有效地使用位操作......
有什么建议吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
也许从一个实施效率低下但有用的解决方案开始。
然后展示如何有效实施。
Perhaps start with an inefficiently implemented, but useful, solution.
And then show how an efficient implmentation is done.
不要从 C 语句和语法开始。 让他们从基本的布尔代数开始,然后让他们手工做一堆二进制算术。 一旦他们真正理解了 AND、XOR、NAND 等背后的数学原理,任何语言的编程语法都将立即被理解。 更重要的是,他们将完全熟悉有用的变换,如德摩根定律,以及按位代数的其他属性,如传递性,可用于将长运算折叠成较短的运算。
Don't start off with the C statements and syntax. Start them with basic Boolean algebra, and then have them do a bunch of binary arithmetic by hand. Once they actually understand the math behind AND, XOR, NAND, etc, the programming syntax will be immediately understandable in any language. More importantly, they will be entirely familiar with useful transformations like de Morgan's laws, and other properties of bitwise algebra like transitivity that can be used to collapse long ops into shorter ones.
我认为您应该关注通过位操作解决哪些实际任务,以便他们理解原因。 位操作本身非常简单,但如果一个人一开始不明白为什么要接触它,那么可能会让人不知所措。
I think you should focus on what actual tasks are solved with bit manipulation so that they understand why. Bit manipulation itself is quite simple but can be overwhelming if a person doesn't understand why they are exposed to it in the first place.
从基础开始,逐步提高。
基本布尔代数
使用真值表练习布尔代数。 写出所有输入的列并分解计算步骤。
二元逻辑连接词
非
和
或
异或
练习:
二进制表示
十六进制表示
逻辑语句简化
布尔代数的性质
德摩根定律
位操作用途的示例和代码
有一篇关于位操作用途的许多用途的非常好的文章,名为 Bit Twiddling Hacks 作者:Sean Eron Anderson。
Start with the basics and work up.
Basic Boolean Algebra
Practice Boolean Algebra with Truth Tables. Write column of all inputs and break down the steps to calculate.
Binary Logical Connectives
Not
And
Or
Xor
An Exercise:
Binary Representations
Hexadecimal Representation
Logical Statement Reduction
Properties of Boolean Algebra
De Morgan's Laws
Examples of and code for Bit Manipulation Uses
There is a very good article on many uses for Bit Manipulation Uses called Bit Twiddling Hacks by Sean Eron Anderson.
通过给他们提供不同逻辑门和定律的示例来指导他们,您还可以提供几个设计逻辑电路的示例。
guide them by giving them examples of different logic gates and laws, you can also give couple of examples of designing logical circuits.