def reverse_bits(x):
    # التأكد من أن x هو عدد صحيح 32 بت
    x = x & 0xFFFFFFFF  # الحصول على تمثيل 32 بت للعدد
    
    # تحويل العدد إلى سلسلة ثنائية
    binary_str = f"{x:032b}"
    
    # عكس الأرقام الثنائية
    reversed_binary_str = binary_str[::-1]
    
    # تحويل السلسلة الثنائية المعكوسة إلى عدد صحيح
    reversed_number = int(reversed_binary_str, 2)
    
    # التأكد من أن العدد يقع ضمن النطاق المسموح
    if reversed_number > 0x7FFFFFFF:  # 2^31 - 1
        return 0
    else:
        return reversed_number

# اختبار
x = 1234567890
result = reverse_bits(x)
print(result)
