Я изучал алгоритм поиска одиночных целых чисел в массиве, и вот реализация:
int arr[] = {10, 20, 30, 5, 20, 10, 30};
int LonelyInteger = 0;
for(int i=0; i< 7; i++)
{
    LonelyInteger = LonelyInteger ^ arr[i];
}
Результат 5.
Мой вопрос: предположительно, целые числа (генерируемые операцией XOR) являются  слишком большими из-за этой операции:
LonelyInteger ^ arr[i]
Это приводит к потенциально большому целому числу, которое в этом случае не может быть представлено типом данных say int. Мои вопросы:
-  Возможно ли, что 
XORбудет генерировать такое большое целочисленное значение, которое не может быть сохранено в типеint? - Если это невозможно, это может быть доказано для этого?