什么是按位运算符?

什么是按位运算符?

我是一个只为好玩而写代码的人,没有在学术或专业背景下真正钻研过它,所以像这些按位运算符这样的东西真的让我无法理解。

我读了一篇关于JavaScript的文章,它显然支持按位操作。我不断地看到在一些地方提到的这个操作,我试着读到它到底是什么,但我似乎一点也不明白。那他们是什么?清楚的例子很好!:d

还有几个问题-按位运算的一些实际应用是什么?你什么时候能用?


幕布斯7119047
浏览 1041回答 3
3回答

慕侠2389804

值得注意的是,作为其他答案列出的单位真值表一次只能在一个或两个输入位上工作。使用整数时会发生什么,例如: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个单独的“和”操作,每列一个操作。我之所以提到这一点,是因为我还记得有这样的“啊哈!”很多年前我得知这件事的那一刻。

烙印99

按位运算符是一次工作的操作符。只有当两个输入都是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
打开App,查看更多内容
随时随地看视频慕课网APP