【发布时间】:2014-06-19 12:00:00
【问题描述】:
摘自计算机系统和网络过去的论文:
这个问题是关于汇编语言的 a) 解释两个二进制数的按位或。举个例子。 [5 分]
我只是在做一些一般性的修改,由于没有标记方案,很难判断我是否正确,所以我想要一些建议或指出正确的方向。
我的想法: 在我们的例子中,按位 OR 采用两个相等长度的二进制数,并对它们执行逻辑包含 OR。
Example: 0101
OR 0111
--------
0111
你觉得这个答案够不够?
【问题讨论】:
-
我相信是这样,尽管没有强制执行“等长”限制。较短的操作数类型应在操作前隐式转换为较宽的操作数类型。
-
我喜欢将 OR 操作视为 bits joiner,例如
11000000 OR 00000011 = 11000011. -
等长是强制性的,我什至不会提及它,它只会增加混淆的可能性。操作数转换和“或”运算本身是两个完全不同的东西,每个都有自己的定义。
-
我认为这句话,对它们执行逻辑包含 OR 太模糊了。它应该读取,对操作数的相同相对位位置中的相应位执行逻辑或,以确定结果中的位。
-
感谢 lurker,你说得对,它可能太模糊了!你的回答好多了!干杯:)
标签: assembly bit-manipulation bitwise-operators bitwise-or