为了账号安全,请及时绑定邮箱和手机立即绑定

什么是按位运算符?

什么是按位运算符?

什么是按位运算符?我是一个只为好玩而写代码的人,没有在学术或专业背景下真正钻研过它,所以像这些按位运算符这样的东西真的让我无法理解。我读了一篇关于JavaScript的文章,它显然支持按位操作。我不断地看到在一些地方提到的这个操作,我试着读到它到底是什么,但我似乎一点也不明白。那他们是什么?清楚的例子很好!:d还有几个问题-按位运算的一些实际应用是什么?你什么时候能用?
查看完整描述

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

值得注意的是,作为其他答案列出的单位真值表一次只能在一个或两个输入位上工作。使用整数时会发生什么,例如:

int x = 5 & 6;

答案在于每个输入的二进制扩展:

  5 = 0 0 0 0 0 1 0 1& 6 = 0 0 0 0 0 1 1 0---------------------
      0 0 0 0 0 1 0 0

每一列中的每一对位都通过“and”函数运行,以便在底线上给出相应的输出位。因此,上述表达式的答案是4。CPU并行地执行了(在本例中)8个单独的“和”操作,每列一个操作。

我之所以提到这一点,是因为我还记得有这样的“啊哈!”很多年前我得知这件事的那一刻。


查看完整回答
反对 回复 2019-06-19
?
烙印99

TA贡献1829条经验 获得超13个赞

按位运算符是一次工作的操作符。

只有当两个输入都是1时,才是1。

如果一个或多个输入为1,则为1。

只有当它的一个输入是1时,XOR才是1。

只有当输入为0时,才是1。

这些可以最好地描述为真值表。输入的可能性在顶部和左边,结果位是在两个输入的交集处显示的四个值中的一个(在非输入情况下为两个,因为它只有一个输入)。

AND|0 1      OR|0 1---+----    ---+----
  0|0 0       0|0 1
  1|0 1       1|1 1XOR|0 1     NOT|0 1---+----    ---+---
  0|0 1        |1 0
  1|1 0

一个例子是,如果您只想要一个整数的较低的4位,那么您和它有15(二进制1111),所以:

    203: 1100 1011AND  15: 0000 1111------------------
 IS  11: 0000 1011


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 1032 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信