相关疑难解决方法(0)

"| ="是什么意思?(管道等运算符)

我尝试使用Google搜索和Stack Overflow搜索,但它没有显示任何结果.我在开源库代码中看到了这个:

Notification notification = new Notification(icon, tickerText, when);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_VIBRATE;
Run Code Online (Sandbox Code Playgroud)

"| ="(pipe equal operator)是什么意思?

java android operators

211
推荐指数
6
解决办法
14万
查看次数

C++ 含义 |= 和 &=

我有一部分代码包含以下功能:

void Keyboard(int key)
{
    switch (key) {
    case GLFW_KEY_A: m_controlState |= TDC_LEFT; break;
    case GLFW_KEY_D: m_controlState |= TDC_RIGHT; break;
    case GLFW_KEY_W: m_controlState |= TDC_UP; break;
    case GLFW_KEY_S: m_controlState |= TDC_DOWN; break;
    default: Test::Keyboard(key);
    }
}

void KeyboardUp( int key)
{
    switch (key) {
    case GLFW_KEY_A: m_controlState &= ~TDC_LEFT; break;
    case GLFW_KEY_D: m_controlState &= ~TDC_RIGHT; break;
    case GLFW_KEY_W: m_controlState &= ~TDC_UP; break;
    case GLFW_KEY_S: m_controlState &= ~TDC_DOWN; break;
    default: Test::Keyboard(key);
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道开关盒是什么,但我不明白这些部件的作用。

m_controlState |= TDC_LEFT
m_controlState &= ~TDC_LEFT
Run Code Online (Sandbox Code Playgroud)

m_controlState …

c++ bit-manipulation bitwise-operators box2d

0
推荐指数
2
解决办法
8601
查看次数

C 中的按位运算 |=

我正在查看示例代码并发现此操作:

displayMap[x + (y/8)*LCD_WIDTH]|= 1 (shift by) shift; 
Run Code Online (Sandbox Code Playgroud)

在哪里

byte shift = y % 8;
Run Code Online (Sandbox Code Playgroud)

我理解|操作数,=但是它们两个一起做什么。

c bit-manipulation arduino bitwise-operators

-2
推荐指数
1
解决办法
3万
查看次数