Octal a decimal en C

Para terminar la serie de ejercicios sobre conversiones de números entre distintas bases veremos cómo convertir un número octal a decimal usando el lenguaje de programación C. Es exactamente el mismo algoritmo que usamos para convertir hexadecimal a decimal; únicamente cambia la base (de 16 a 8, porque octal es base 8) y la obtención de la equivalencia. ...

noviembre 20, 2018 · 3 min · 620 palabras · Parzibyte

Convertir binario a decimal en C

Cuando escribí la entrada anterior sobre cómo convertir decimal a binario en C olvidé escribir un nuevo post sobre hacer el proceso inverso, es decir, convertir binario a decimal en C. Veamos cómo podemos convertir una cadena que representa a un número binario en su forma decimal. Por ejemplo, convertir “101011111011” en 2811. ...

noviembre 19, 2018 · 3 min · 630 palabras · Parzibyte

Convertir dígito en char a entero en C

Los caracteres y los enteros en C tienen una relación si a ambos los tratamos como lo primero. Cada carácter se puede representar de forma entera o de forma de carácter. Veremos cómo convertir un carácter en forma de dígito (por ejemplo ‘0’) a su representación decimal (0) utilizando algunas operaciones. ...

noviembre 19, 2018 · 2 min · 298 palabras · Parzibyte

Desbordamiento de búfer en C

Hoy veremos lo que es un desbordamiento de búfer en C y cómo puede (en su forma más simple) hacer que un usuario aproveche esa vulnerabilidad para explotar nuestro programa. Nota: esto es diferente a cuando se desborda una variable. Lo que es un desbordamiento de búfer Según la Wikipedia: En seguridad informática y programación, un desbordamiento de búfer (del inglés buffer overflow o buffer overrun) es un error de software que se produce cuando un programa no controla adecuadamente la cantidad de datos que se copian sobre un área de memoria reservada a tal efecto (buffer): Si dicha cantidad es superior a la capacidad preasignada, los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original, que probablemente pertenecían a datos o código almacenados en memoria. Esto constituye un fallo de programación. En otras palabras le da al usuario de nuestro programa la forma de sobrescribir una variable a su antojo; bueno, no siempre y no tan fácil, pero alguien con tiempo puede encontrarlas y explotarlas. Esto es peligroso en programas que se van para producción, por ejemplo un sistema de la apertura de una puerta o cosas de esas que tienen que ver con la seguridad. ...

noviembre 19, 2018 · 4 min · 777 palabras · Parzibyte

Leer datos por teclado en C utilizando scanf

Este post es muy básico pero nos enseña cómo leer una variable dada por un usuario en C utilizando la función scanf. Con esta función podemos leer cualquier tipo de dato, siempre y cuando especifiquemos su tipo correctamente. ...

noviembre 19, 2018 · 3 min · 487 palabras · Parzibyte

Mayor o menor de edad en varios lenguajes de programación

Introducción Este es un ejercicio resuelto básico, pero nos ayudará si somos principiantes. Se trata de un algoritmo que te dice si eres mayor o menor de edad según tu edad. Lo implementaremos en Python, Go, PHP, C, C# y Java (ya lo habíamos hecho en JavaScript) ...

noviembre 19, 2018 · 3 min · 563 palabras · Parzibyte

Obtener valor entero a partir de dígito hexadecimal en C

Como sabemos, los números hexadecimales se representan con 16 dígitos; por eso son base 16. Para eso se usan los números del 0 al 9 y las letras de la A a la F. Pero esas letras tienen un valor en decimal, la A tiene el valor de 10, la B de 11 y así hasta que la F tiene 15. Pues justamente hoy veremos cómo obtener ese valor decimal o entero a partir de un carácter hexadecimal. La función debe quedar de tal forma que si le pasamos una ‘A’ devolverá un 10; o si le pasamos un ‘1’ devolverá 1. ...

noviembre 19, 2018 · 3 min · 520 palabras · Parzibyte

Usar fgets en lugar de scanf en C

Cuando aprendemos algoritmos en C, la forma de escanear variables por teclado es a través de scanf. Si bien este método funciona, existe el peligro de un desbordamiento de búfer. Antes que nada te invito a ver lo que es un desbordamiento de búfer en C. fgets vs scanf en C Después de que leíste lo del desbordamiento es hora de ver por qué es mejor usar fgets en lugar de scanf. Esto es porque fgets escanea una variable pero únicamente hasta donde le digamos; es decir, nosotros le decimos cuánto debe leer (el tamaño). Scanf en cambio no hace eso, lee todo dentro de la posición en memoria. ...

noviembre 19, 2018 · 3 min · 630 palabras · Parzibyte

Invertir cadena o palabra en JavaScript

Ya vimos cómo invertir una cadena o palabra en C y en Arduino. Ahora vamos a ver cómo rotar una cadena en JavaScript utilizando dos maneras o funciones. Las cadenas en JavaScript son inmutables y no son parecidas a las de C. Es decir, en C son arreglos de caracteres pero en JavaScript no. Por lo tanto, para invertir una cadena en JavaScript tenemos que crear una nueva cadena. Ya sea que llamemos a una función que regrese una nueva cadena o que creemos una, al final sí podremos lograr nuestro objetivo, y podrá invertir cadenas, palabras, oraciones completas y texto. ...

noviembre 18, 2018 · 2 min · 358 palabras · Parzibyte

Invertir cadena en C

Voltear cadena en C Girar, rotar, voltear o invertir una cadena en C es una cosa fácil de hacer, aunque no tan fácil como en otros lenguajes de programación. El algoritmo es sencillo, recordemos que las cadenas en C son simples arreglos de caracteres. Así que tenemos que ir desde el inicio hasta la mitad de la cadena, rotando carácter por carácter. Nota: mira cómo invertir un arreglo en C. ...

noviembre 17, 2018 · 4 min · 747 palabras · Parzibyte