İki tamsayılar XOR saha dışına gidebilir mi?
Bir dizi yalnız tamsayılar bulmak için algoritma çalışıyordum, ve işte kullanımı
int arr[] = {10, 20, 30 ,5, 20, 10,30 };
int LonelyInteger = 0;
for(int i=0; i< 7; i )
{
LonelyInteger = LonelyInteger ^ arr[i];
}
Bu eesult 5
.
Benim sorum - güya tamsayı (XOR
işlemi tarafından oluşturulan alıyorum)çok büyükbu operasyon nedeniyle:
O, bu veri türü int
say tarafından temsil edilemeyen bu durumda potansiyel olarak büyük bir tamsayı olur. Benim sorular şunlardır:
XOR
böyle büyük bir tamsayı üretecek bile mümkün olamazint
yazın saklanır mı?- Eğer bu durum mümkün değilse o zaman bu bir kanıt mı?
CEVAP
XOR
hiç bit birleştirir ve hiçbir bit önce ayarlanmış yeni bit yaratmaz çünkü saha dışına gidecek.
Sonuç 5
doğru. Değeri XOR
sonuç ikili gösterimi bak
10 00001010
20 00010100
30 00011110
5 00000101
20 00010100
10 00001010
30 00011110
--------------
00000101 => 5
Kolay yardım için hesaplama sonucu birçok XOR
ed değerleri: sonuç-ecek var bir bit kümesi bir tek sayı parçacıklarıdır birlikte, hiçbir bit için çift sayı parçaları.
Eğer bu durum mümkün değilse o zaman bu bir kanıt mı?
XOR
bireysel bitlerin devam etmeden ayrıca eşdeğerdir. Taşıdığın olmadan bit eklemek, taşma meydana gelebilir ve int
değeri sınırları dışına gidemez.
Nasıl tamsayılar bir dizi her basamak ...
'saha listesinde bilinmeyen sütun...
Awk ile ilk saha dışında baskı her şey...
Toplam tamsayılar, her satıra bir kabu...
Nasıl python tamsayılar dizeleri dönüş...