#!/usr/bin/perl # Leyes de De Morgan # http://es.wikipedia.org/wiki/Leyes_de_De_Morgan # # nitr0us *noSPAM* 0hday.org # # Solo para demostrar, por que me estaba enojando # que no lo entendia logicamente y tampoco me # salian los calculos mentalmente :@. # # NO SALEN ACENTOS EN ESTA COSA... $NOT = 172; print "\t**************************\n"; print "\t*** Leyes de De Morgan ***\n"; print "\t******** nitr0us *********\n"; print "\t**************************\n"; print "Introduce x: "; chomp ($x = ); print "Introduce y: "; chomp ($y = ); print "\nu - Disjuncion (|)\nn - Conjuncion (&)\n\n"; # =) printf "%c(x u y) <=> %cx n %cy\n", $NOT, $NOT, $NOT; printf "%c(", $NOT; dec2bin($x); print " u "; dec2bin($y); printf ") <=> %c", $NOT; dec2bin($x); printf " n %c", $NOT; dec2bin($y); print "\n"; printf "%c(", $NOT; dec2bin($x | $y); printf(") <=> "); dec2bin(~$x); print " n "; dec2bin(~$y); print "\n"; dec2bin(~($x | $y)); print " <=> "; dec2bin((~$x) & (~$y)); print "\n\n"; # =( printf "%c(x n y) <=> %cx u %cy\n", $NOT, $NOT, $NOT; printf "%c(", $NOT; dec2bin($x); print " n "; dec2bin($y); printf ") <=> %c", $NOT; dec2bin($x); printf " u %c", $NOT; dec2bin($y); print "\n"; printf "%c(", $NOT; dec2bin($x & $y); print ") <=> "; dec2bin(~$x); print " u "; dec2bin(~$y); print "\n"; dec2bin(~($x & $y)); print " <=> "; dec2bin((~$x) | (~$y)); print "\n"; sub dec2bin { my $str = unpack("B32", pack("N", shift)); $str =~ s/^0+(?=\d)//; print $str; }