【发布时间】:2012-10-01 22:04:19
【问题描述】:
首先,让我郑重声明,这是为我周三的期中考试做准备。 我正在学习 C 编程课程,我们几乎没有接触过按位运算,但我们正在接受测试。
例如,我们应该知道 A、B、C 和 D 的初始化内容,如下所示:
unsigned int A, B, C, D;
A = 0xfedc & 0x300c;
B = 0xba98 | 0x1236;
C = 0x7654 ^ 0xfa00;
D = ~0xffff3210;
如果可能,您能否为我提供一个体面的教程/指南来理解这些概念?一个解释也会很棒,但我不希望得到一个实际的答案解释。
提前感谢您提供的任何帮助。
【问题讨论】:
-
那些不是逻辑运算符,而是位运算符。
-
有趣的是,我的老师称它们为逻辑运算,因此我使用它。不过,我认为它们确实是按位计算的。我很抱歉。
-
无需道歉。特别是如果你的老师这样称呼他们。并且可以将它们视为同时对相应位对应用逻辑运算 [
~当然不是对],所以这不是完全错误,只是不寻常 - 除了处理器中执行这些操作的部分被称为算术Logic 单元,所以它不是 so 不寻常的。但称它们为按位运算符以将它们与&&和||区分开来具有 - 我相信很明显 - 优势。
标签: c hex logic operations