Como es bien sabido al dividir en C las variables enteras "a" y "b" usando el operador "/" (a/b), el compilador redondea por defecto hacia abajo el resultado si el destino de la division es otra variable entera "c".
Si lo que deseas es lo contrario encontre por la red una manera de redondear hacia arriba "c=a/b", aqui hago un copy&paste:
c = (x + y - 1) / y;
Pero hay que tener cuidado con esto ya que para numeros grandes "x + y" puede producir overflow, para evitarlo:
c = 1 + ((x - 1) / y);
Como su propio nombre indica este blog no pretende ser mas que un sitio donde poder realizar anotaciones útiles para mi y para cualquiera que busque información en la red.
viernes, 29 de junio de 2012
miércoles, 18 de abril de 2012
Solucion para "libgfortran.so.1: cannot open shared object file: No such file or directory" en instalacion binarios Julia en Xubuntu 11.04 x64
Descargar y descomprimir el binario de "Julia":
wget https://github.com/downloads/JuliaLang/julia/julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz
tar zxvf julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz
Descargar y descomprimir libgfortran1:
wget http://ubuntu.mirror.cambrium.nl/ubuntu//pool/universe/g/gcc-4.1/libgfortran1_4.1.2-21ubuntu1_amd64.deb
ar -x libgfortran1_4.1.2-21ubuntu1_amd64.deb
tar zxvf data.tar.gx
Copiar los ficheros de "/usr/lib" a "/usr/lib/x86_64-linux-gnu"
wget https://github.com/downloads/JuliaLang/julia/julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz
tar zxvf julia-a1fcc12042-Linux-x86_64-glibc25.tar.gz
Descargar y descomprimir libgfortran1:
wget http://ubuntu.mirror.cambrium.nl/ubuntu//pool/universe/g/gcc-4.1/libgfortran1_4.1.2-21ubuntu1_amd64.deb
ar -x libgfortran1_4.1.2-21ubuntu1_amd64.deb
tar zxvf data.tar.gx
Copiar los ficheros de "/usr/lib" a "/usr/lib/x86_64-linux-gnu"
miércoles, 14 de marzo de 2012
Buscar ficheros modificados hoy
find . -ctime 1 -print
viernes, 3 de febrero de 2012
Quien esta usando mi puerto (AIX)
netstat -Aan | grep <port number>
Esto muestra el PCB (protocol control block) en la primera columna.
rmsock <PCB> tcpcb
Esto muestra el proceso que usando ese PCB.
Esto muestra el PCB (protocol control block) en la primera columna.
rmsock <PCB> tcpcb
Esto muestra el proceso que usando ese PCB.
domingo, 15 de enero de 2012
Como conectar a VPN Cisco con "vpnc" usando certificado "crt"
Primero instalamos el cliente linux para VPNs Cisco "vpnc" y el material necesario:
sudo cp cisco-decrypt /usr/bin
sudo cp pcf2vpnc /usr/bin
sudo apt-get install libgcrypt11 libgcrypt11-dev libssl-dev libssl0.9.8 vpnc resolvconf
Comprobamos que se ha instalado con soporte SSL:
vpnc --version
Si aparece la siguiente linea vpnc se ha instalado con soporte SSL:
Supported Auth-Methods: psk psk+xauth hybrid(rsa)
Copiamos el fichero .crt a /etc/vpnc:
sudo cp foo.crt /etc/vpnc
Si disponemos de fichero .pcf de configuracion debemos convertirlo a fichero .conf para vpnc, para lo cual necesitamos cisco-decrypt.c y pcf2vpnc:
wget http://www.joepcremers.com/wordpress/wp-content/files/cisco-decrypt.c
gcc -Wall -o cisco-decrypt cisco-decrypt.c $(libgcrypt-config
--
libs --
cflags)
chmod +x cisco-decrypt
sudo cp cisco-decrypt /usr/bin
wget http://svn.unix-ag.uni-kl.de/vpnc/trunk/pcf2vpnc
sudo cp pcf2vpnc /usr/bin
pcf2vpnc foo.pcf > foo.conf
sudo cp foo.conf /etc/vpnc/
Añadir las siguientes lineas al fichero foo.conf:
sudo vi /etc/vpnc
IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt
Ejemplo de fichero .conf:
## generated by pcf2vpnc
IPSec ID foo
IPSec gateway vpn.foo.com
IPSec secret dajhfñakjedhfñEWU1VJdsañj
IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt
## To add your username and password,
## use the following lines:
# Xauth username <your username>
# Xauth password <your password>
sudo vi /etc/vpnc
IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt
Ejemplo de fichero .conf:
## generated by pcf2vpnc
IPSec ID foo
IPSec gateway vpn.foo.com
IPSec secret dajhfñakjedhfñEWU1VJdsañj
IKE Authmode hybrid
CA-File /etc/vpnc/foo.crt
## To add your username and password,
## use the following lines:
# Xauth username <your username>
# Xauth password <your password>
Suscribirse a:
Entradas (Atom)