2014-02-06 4 views
5

Это функция изменения значения бита изображения. что делает |= и ^= означает?Что означает «| =» и «^ =» в java?

private int setBitValue(int n,int location,int bit) { 
    int toggle=(int)Math.pow(2,location),bv=getBitValue(n,location); 
    if(bv==bit) 
     return n; 
    if(bv==0 && bit==1) 
     n|=toggle;  // what does it do? 
    else if(bv==1 && bit==0) 
     n^=toggle;  // what does it do? 

    return n; 
} 
+0

вопрос независимо от того, качаться; – ikh

ответ

4

Его же короткая форма, как в + =

n |= toogle 

такая же, как

n = n | toogle 

| здесь находится двоичный код или оператор , а^- двоичный оператор xor

2

Это короткие операции присваивания вручную.

n|=toggle;  is equivalent to   n=n|toggle; 

и

n^=toggle;  is equivalent to   n=n^toggle; 

И

| is bitwise OR  
^ is bitwise XOR 
1

Они побитовое ИЛИ равно и побитовое исключающее ИЛИ равен операторам. Они в основном используются для работы с битовыми флагами. Я очень рекомендую this article, если вы хотите узнать больше о побитовых и битовых смещениях.

0

Это сокращенные побитовые операторы. Как += с использованием |= так же, как:

a = a | b; 

Чтение документации о Bitwise and Bit Shift Operators Oracle для получения дополнительной информации.

Смежные вопросы