Vamos a ver. Un programa tiene una finalidad. El usuario no decide, decides tú.
¿Para qué es el valor que ingresa el usuario?
¿Va a ingresarlo con 0x## en caso de ser hexadecimal?
¿Para qué es el valor que ingresa el usuario?
¿Va a ingresarlo con 0x## en caso de ser hexadecimal?