Una de las mayores armas de doble filo en cuanto a los lenguajes de programación interpretados es la función o expresión eval. Esta orden nos suele permitir escribir una cadena de caracteres con un texto en el mismo lenguaje que estamos escribiendo y ejecutarla. Es decir, si nos encontramos en Python y escribimos:
En la cadena de caracteres que introducimos podemos utilizar variables, bucles, condiciones… vamos, todo lo que nos permite el lenguaje de programación.… Leer artículo completo
¿Cómo? ¡Que los puertos TCP empiezan en el 1! Aunque algo sospechaba, porque en informática, el cero siempre ha valido para algo. Por eso se dice que los humanos empiezan a contar desde el uno y los informáticos desde el cero. Con esta cara me quedé cuando vi que puedes lanzar un servidor y que éste escuche en el puerto 0. Pero si el 0 no es un puerto válido, ¿para qué vale?… Leer artículo completo
Hace unos días empecé con la serie Bailando con Bits (aunque llevaba escrito varios meses) trata de formas para trabajar a nivel de bit desde C.
Hoy voy a proponer otra forma, quizás menos intuitiva que la anterior, pero diferente. Esta vez no utilizaremos un registro enorme ni nada parecido, utilizaremos un mismo número entero para hacer el ejemplo:
Ahora usamos varias macros que harán operaciones de bit con la variable a analizar (están definidas en la parte de arriba), tenemos PESOBIT, COGEBIT, PONE_1, PONE_0 y CAMBIA:
PESOBIT: Nos dice cuánto vale un bit con valor 1 en la posición especificada, por ejemplo en la posición 0 (LSB) vale 1, en la posición 1, vale 2, en la posición 3, vale 4, en la posición 4, vale 8…
COGEBIT: Nos dice si el bit en la posición bpos de la variable var vale 0 ó 1
PONE_1: Pone un 1 en el bit bpos de la variable var
PONE_0: Pone un 0 en el bit bpos de la variable var
CAMBIA: Cambia el valor (de 0 a 1 y viceversa) del bit en la posición bpos de la variable var
Como vemos en el ejemplo si queremos poner a 1 el bit 5 de numero, tendremos que hacer numero=PONE_1(numero,5), aunque en el siguiente ejemplo veremos cómo simplificar todo eso.… Leer artículo completo
Si te ha gustado el sitio, te ha resultado útil o simplemente quieres colaborar con el sitio para que siga compartiendo contenidos, invítame a un café, una pizza, una ensalada, o lo que se te ocurra.Te lo agradeceré eternamente :)
¡Atención! Este sitio utiliza cookies propias y de terceros para mejorar la experiencia de usuario, Si continúa la navegación en el sitio, asumo que estás de acuerdo con esto, aunque siempre puedes desactivar las cookies en tu navegador. AceptarLeer más
Últimos comentarios