marzo 11, 2018

Entero a cadena y cadena a entero en Go

Introducción

En cualquier lenguaje de programación necesitaremos convertir o castear diferentes tipos de datos. Hoy veremos cómo convertir números a cadena y viceversa, así como otras conversiones útiles usando strconv.

Convertir cadena a entero

Para ello utilizamos strconv.Atoi, que quiere decir algo como “ASCII to integer”. Si algo malo pasa durante la conversión, devolverá un error en la segunda variable. Un ejemplo vale más que mil palabras:

En este caso convertimos la cadena “10”. Si algo saliera mal durante la conversión, lo imprimimos. Pero en caso de que todo salga bien, imprimirá 15, ya que estamos sumando su representación entera + 5.

Convertir entero a cadena

Ahora veamos cómo convertir un número entero a una cadena o string. Para ello usamos “Itoa” que quiere decir algo como “Integer to ASCII”. Se utiliza así:

En este caso, Itoa no devuelve ningún error. Supongo que es porque existe una representación de cadena para cualquier otro tipo de valor.

Convertir a binario

También podemos convertir una cadena a su representación binaria, como lo explico en este post.

Otras conversiones

Podemos convertir cadenas a booleanos con FormatBool y a flotantes con FormatFloat. Aquí dejo un link a la página oficial.

Binario a decimal y viceversa en Go

Introducción

Hoy veremos cómo convertir un número en su representación binaria a un entero. Y un entero a su representación binaria. Es decir, convertir algo como “10” en binario a 2 en decimal; así como 2 en decimal a “10” en binario.

Decimal a binario

Para esto simplemente llamamos a FormatInt del tipo strconv. Esto nos dará la representación binaria como una cadena. El número que le pasemos debe ser un int64, y para convertirlo podemos usar la función int64.

Aquí dejo algunos ejemplos:

La salida es esta:

Binario a decimal

Ahora veamos la operación inversa. Convertiremos un número en su representación binaria a un número decimal. En este caso usamos ParseInt del tipo strconv. El primer argumento que recibe es el dato que convertiremos (la representación binaria), después la base (2) y finalmente el tamaño que será 64.

Recordemos que puede devolver un error en la conversión, así que debemos manejarlo. El código de ejemplo queda así:

Al ejecutarlo, esto se ve:

Y con eso terminamos por hoy.

Buscar el número más grande y más pequeño en un arreglo con C

Introducción

Hablando de arreglos ahora veremos cómo buscar el número más grande y más pequeño en un arreglo en C.

Número mayor y menor

El código es muy simple. Declaramos dos variables aparte del arreglo. Dichas variables tendrán el primer elemento del arreglo. Después recorremos el vector y si el número en el que estamos (en la posición i) es mayor, entonces asignamos a mayor dicho número. Lo mismo para menor.

Después, al salir del ciclo imprimimos y todo correcto.

Compilación y ejecución

Finalmente tenemos esto al compilarlo y ejecutarlo: