2014-10-27 70 views
0

我想爲C++中的兩個大數字使用XOR。我使用Miracl圖書館的大數字。我該怎麼做 ? 例如:在C++中使用大數字XOR

X= 188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012 
XOR 
Y= 000000000000000000000000000000000000000000000001 

再移位第二數目的一個比特和做到這一步再次.I不能使用X ^ÿ。我該怎麼辦 ?

另一個問題是與轉移。 這是我移位碼:

enter image description here

但不是移1位到左側,它變爲4位。這是輸出:

enter image description here

請幫我

回答

2

如果你指的是this Miracl,他們提到一個函數調用lxor

friend Big lxor(const Big&,const Big&); // logical XOR 
+0

對於那些像我這樣誰是擔心註釋,[mrcore.c](https://github.com/CertiVox/MIRACL/blob/master/source/mrcore.c)中'mr_xor'的核心實現表明該操作按位執行。 – 2014-10-27 08:33:26

+0

@ChrisCulter很高興知道,感謝您的研究! – cnicutar 2014-10-27 08:34:24

+0

@cnicutar謝謝。但我無法使用此功能。我也無法在miracl的幫助下找到它! – zahra 2014-10-27 10:16:03