2011-01-22 65 views
0

老師給了我們這個問題,我無法回答,我希望能得到一些幫助。如何解決這個邏輯操作? (作業)

執行以下邏輯運算:
1 AB5D和CD5F
2- DD1D XOR B159

而且我想知道,我應該遵循找到正確的答案的步驟。

+1

爲什麼要將動詞「I」連接起來? Doesn'tmakeiteasiertoread。請用正確的英文寫。同樣對於作業問題,你應該提供你的方法和你的想法。我們不會爲你做你的功課。 – 2011-01-22 11:52:29

+1

請使用完整的單詞和完整的句子來更改您的問題。另外,大會和這個有什麼關係? – thkala 2011-01-22 11:56:03

回答

0

0xAB5D和0xCD5F = 0x895D

0xDD1D XOR 0xB159 = 06C44

使用 '計算' 在Windows或GNOME的Linux或只是Pyrhon /紅寶石它的gnome-計算器「。

UPD:如果你想這樣做在紙上,請按照接下來的幾個簡單的步驟:

  • convert your numbers to binary(爲前0xAB5D == 1010101101011101; 0xCD5F == 1100110101011111)
  • 執行bitwise operation這兩個二進制文件(1010101101011101 AND 1100110101011111 = 1000100101011101)
  • 轉換結果爲十六進制或十進制
2

將單獨的十六進制字符轉換爲二進制,將它們放在另一個上,並且對於每一列,如果兩個都是1,結果將是1;在所有其他情況下,結果將爲零。把它寫在另外兩個二進制字符串的下面。然後,當你完成了所有數字時,將它轉換回十六進制。

例子:

A = 1010 
C = 1100 
    ---- 
    1000 = 8 

還有就是你取與AB5D和CD5F的第一位。繼續這樣做,你會得到它。

異或操作給出1,其中一個或另一個數字是1,但不是兩者。

你應該清楚所有的bitwise operations;他們都可以以同樣的方式完成。

3

成員是十六進制的(AB5D,CD5F,...),所以如果你在二進制之前轉換它們會更容易。您可以使用此表:

0 = 0000 4 = 0100 8 = 1000 C = 1100 
1 = 0001 5 = 0101 9 = 1001 D = 1101 
2 = 0010 6 = 0110 A = 1010 E = 1110 
3 = 0011 7 = 0111 B = 1011 F = 1111 

因此,AB5D是1010101101011101

然後你應用按位運算。這意味着,例如,A XOR 3的結果是:

A XOR 3 = 
1010 XOR 0011 = 
1001 = 
9 (see conversion table)