Esta función ~ resulta especialmente incomprensible si consultamos los
manuales AutoLISP habituales, incluyendo la "ayuda" que viene con el
programa. Nos dirán que "esta función devuelve la
negación lógica de una cifra binaria, es decir, el complemento a
uno". Y se nos ilustra con ejemplos como: Si bien la explicación es del todo correcta, a los que no poseemos conocimientos matemáticos tan completos no nos aprovecha gran cosa esa explicación. Para encontrar una respuesta más comprensible hemos tenido que recurrir al viejo manual de Nelson Johnson** cuya traducción al español fuera publicada en 1990 por McGraw-Hill. Explica Johnson que:
El número 9 en binario sería 1001, o mejor,
considerando un tamaño de palabra de 32 bits: El valor negativo se explica, según lo dicho al explicar la función LSH, al ocupar la posición extrema izquierda un valor 1. La posibilidad de construir este "filtro negativo" de un valor binario es extremadamente valioso para gestionar los valores guardados en términos de posiciones de bits. Pero para la gestión de estos valores binarios nos deberemos auxiliar de otras funciones como LOGAND, LOGIOR, y BOOLE No es muy frecuente el uso de esta función en los programas LISP dentro de AutoCAD. Revisando los programas suministrados con la aplicación podemos encontrar ejemplos de su uso en AI_UTILS.LSP y DDMODIFY.LSP de las versiones 13 y 14 y FORMAT.LSP de la versión 12.
|
Apuntes para un Curso... > Programación de Aplicaciones Gráficas > 2. Técnicas Fundamentales > 2.3. Estructuras de Control > 2.3.4. Operadores Lógicos Binarios >