2011-05-17 161 views
1

我在C++C++與Java代碼轉換

r.bits[k] &= 0xFF^msk; 

所以在Java中

r.bits[k] = r.bits[k] & 0xFF, 

,但什麼是插入符號符號的含義是什麼? msk也將包含十六進制值。 我知道插入符號是C++中的一種指針,但不知道它在這裏做了什麼。 請解釋。

+1

此語句可以逐字複製到Java。正如silverback解釋'^'與指針無關。 – musiKk 2011-05-17 12:52:13

回答

4

C++中的插入符號表示XOR邏輯運算。含義的代碼0xFF^msk;是你把位MSK和反轉他們(零至者,反之亦然)

+0

我認爲你的意思是按位,而不是邏輯 – sehe 2011-05-17 12:51:50

+0

它是一個按位運算符執行邏輯異或操作 – Euqil 2011-05-17 13:08:04

5

插入符號是指按位異或

插入符號不意味着一種指針在C++(雖然MSVC++具有擴展的C++/CLI使用該符號)

2

^是按位異或。

例如:

1^1 = 0 
2^1 = 3 
0^1 = 1 

如果使用C++/CLI那麼它也是一種reference(手柄)。