Joaquín, un candidato para un módulo??
El 30 de septiembre de 2016, 20:23, Ramiro <[email protected]> escribió: > Gracias por la observación Joaquín, desconocía ese dato. > > Según la documentación del comando df de GNU coreutils por el cual se > nutre este módulo de Perl6, utiliza la base 1024 por defecto y deja al > usuario la decisión de utilizar otra como 1000. > > Lo cierto es que para el propósito de este módulo da igual la base 1000 > que 1024, pero si te animas puedes contribuir con un pull request para dar > opción al usuario de utilizar la base 1000, como hace df. > > El 30 de septiembre de 2016, 13:37, Joaquin Ferrero < > [email protected]> escribió: > >> Buenas. >> >> En la reunión de ayer, cuando Ramiro nos presentó su módulo, yo indiqué >> que no me parecía correcto que el cálculo se hiciese en base a dividir los >> bytes de la capacidad devuelta por el sistema operativo en múltiplos de >> 1024. Y que en su lugar se debía usar el valor de 1000. >> >> Este es un extracto de lo que figura en la página "Unidad de disco duro" >> de la Wikipedia: >> >> Además, los fabricantes de discos duros, unidades de estado sólido y >> tarjetas flash miden la capacidad de los mismos usando prefijos del >> Sistema Internacional, que _emplean múltiplos de potencias de 1000 >> según la normativa IEC e IEEE_, en lugar de los prefijos binarios, >> que emplean múltiplos de potencias de 1024, y son los usados por >> sistemas operativos de Microsoft. Esto provoca que en algunos >> sistemas operativos sea representado como múltiplos 1024 o como >> 1000, y por tanto existan confusiones, por ejemplo un disco duro de >> 500 GB, en algunos sistemas operativos será representado como 465 >> GiB (es decir gibibytes; 1 GiB = 1024 MiB) y en otros como 500 GB. >> >> De esta manera, los dispositivos de almacenamiento se igualan con las >> velocidades de transmisión o caudales, de las líneas de datos, basándose >> todas en múltiplos de 1000 (bueno, en la mayoría de los casos). >> >> Además... así el algoritmo de cálculo de las letras de los prefijos >> queda... de otra manera :) >> >> my $x = 7233434453; # valor de prueba >> my $n = int log($x) / log(10) / 3; >> >> return sprintf "%6.02f %2s", $x/10**($n*3), (qw(B KB MB GB TB PB EB ZB >> YB))[$n]; # " 7.23 GB" >> >> La división log $x / log 10 se debe a que en Perl 5 no existe la función >> logaritmo en base 10, que sí tiene Perl 6: .log10 >> >> >> -- >> JF^D >> >> _______________________________________________ >> Madrid-pm mailing list >> [email protected] >> http://mail.pm.org/mailman/listinfo/madrid-pm >> > > > > -- > Ramiro. > > _______________________________________________ > Madrid-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/madrid-pm >
_______________________________________________ Madrid-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/madrid-pm
