ile ikili sayıları karşılaştırarak bu kodun bir parçasıdır. Burada xor ile rakamları karşılaştırmak istiyorum. Yani "0111" vermeyi düşünüyoruz, ancak sonuç olarak "111" değerini veriyor. Nasıl düzeltebilirim? Yani "0111" vermeyi düşünüyoruz, ancak sonuç olarak "111" değerini veriyor. Nasıl düzeltebilirim?C, xor
1 and 1 = 0
1 and 0 = 1
0 and 1 = 1
0 and 0 = 0
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int BinaryRepForDisk1=1101, BinaryRepForDisk2=1010, Disk3=0, xor1, xor2, power=0;
while(BinaryRepForDisk1!=0)
{
xor1=BinaryRepForDisk1%2;
xor2=BinaryRepForDisk2%2;
if(xor1==xor2)
{
Disk3=Disk3+pow(10,power)*0;
power++;
}
else
{
Disk3=Disk3+pow(10,power)*1;
power++;
}
BinaryRepForDisk1=BinaryRepForDisk1/10;
BinaryRepForDisk2=BinaryRepForDisk2/10;
}
printf("%d",Disk3);
system("pause");
return 0;
}
* 'int BinaryRepForDisk1 = 1101' * - bu, ikili olarak temsil edilen bir sayı değil. Bu bin yüz birdir. – axiac
'111' ve' 0111' eşittir. – jadhachem
@jadhachem: Ehm ... hayır! – Olaf