Esta función ~ resulta especialmente incomprensible si consultamos losmanuales AutoLISP habituales, incluyendo la "ayuda" que viene con elprograma. Nos dirán que "esta función devuelve lanegación lógica de una cifra binaria, es decir, el complemento auno". Y se nos ilustra con ejemplos como: Si bien la explicación es del todo correcta, a los que no poseemosconocimientos matemáticos tan completos no nos aprovecha gran cosa esaexplicación. Para encontrar una respuesta más comprensible hemostenido que recurrir al viejo manual de Nelson Johnson cuya traducción al español fuera publicada en 1990 porMcGraw-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 lafunción LSH, al ocupar la posición extrema izquierda un valor 1.La posibilidad de construir este "filtro negativo" de un valorbinario es extremadamente valioso para gestionar los valores guardados entérminos de posiciones de bits. Pero para la gestión de estos valores binarios nos deberemos auxiliarde otras funciones como LOGAND, LOGIOR, y BOOLE No es muy frecuente el uso de esta función en los programas LISPdentro de AutoCAD. Revisando los programas suministrados con laaplicación podemos encontrar ejemplos de su uso enAI_UTILS.LSP yDDMODIFY.LSP de las versiones 13 y 14 yFORMAT.LSP de la versión 12.
|
AutoCAD: Visual LISP > 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 >