def reverse_signed_number(n):
   
    sign = 1 if n >= 0 else -1
    n = abs(n)

    reversed_n = 0
    while n > 0:
        digit = n % 10
        reversed_n = reversed_n * 10 + digit
        n //= 10

    reversed_n *= sign

    # Check if reversed_n is within the 32-bit signed integer range.
    if reversed_n >= -2**31 and reversed_n <= 2**31 - 1:
        return reversed_n
    else:
        return 0

# Example usage
n = 123
reversed_n = reverse_signed_number(n)
print(f"Original number: {n}, Reversed number: {reversed_n}")

n = -123
reversed_n = reverse_signed_number(n)
print(f"Original number: {n}, Reversed number: {reversed_n}")

n = 120
reversed_n = reverse_signed_number(n)
print(f"Original number: {n}, Reversed number: {reversed_n}")