[Roma.pm] - perfunc

Emanuele Zeppieri ema_zep at libero.it
Wed Feb 6 04:18:20 PST 2008


kanak at perl.it wrote:

> qual'e' l'omologo di
> sprintf "%b", $numero?
> 
> come hex($numero)
> e' l'omologo di
> sprintf "%x", $numero.
> 
> per dirla piu' chiara:
> ce' una funzione che ti dice quaanto vale un numero binario?

Sul piano della semplicità d'uso, forse la soluzione migliore è data dal 
pragma bignum (il modulo bignum è probabilmente già incluso nella tua 
distribuzione, per cui non devi neanche installarlo):

use bignum;
my $bin = 0b1100011111;
my $dec = $bin->as_int; # 799

(Ricordati solo che i valori binari devono avere "0b" iniziale.)
Addirittura puoi applicare i metodi direttamente ai valori letterali, 
come se fossero first-class objects (potenza del constant overloading):

print 799->as_bin;          # stampa 0b1100011111
print 0b1100011111->as_int; # stampa 799

Per giunta non hai neanche limitazioni sulla dimensione dei numeri/stringhe.

Ciao,
Emanuele.


More information about the Roma mailing list