Максимальное число, которое может представлять 32-битное int, равно 0x7fffffff.7 в начале встречается, а не другой f, потому что int это подписано , поэтому старший бит представляет знак (положительный или отрицательный) числа.
В вашем первом примере компилятор видит число, которое может быть представлено только беззнаковым целым, поэтому он предполагает, что это UInt32.Это не может быть преобразовано в int, следовательно, ошибка.
Я ваш второй пример, когда вы принудительно преобразуете приведение, но число не будет вписываться в int, поэтому переполнениебольшой) происходит.