sub log2{ log( $_[0] ) / log( 2 ) } sub log2ToLog10{ $_[0] / log2( 10 ) } print log2ToLog10( 1024000 );; 308254.715559917 #### my $log10 = log2ToLog10( 1024000 ); printf "%.16fe%d\n", 10**( $log10 - int( $log10 )), int( $log10 );; 5.1946933632179482e308254 #### 5.194693363199925134610713163987076370296109835471390390220522155000330748128713140857944929474604946407890576242141198731139214 23240606036691005914430851616714236085380640650092474334957582064211816041163544936451093418528960464769157767991031321856057398 26669474426964737604759929721589274792180092737595160498114969938435636416559392963943454835743787169456588299548100913424497325 0905049420519380402064586712958594039933889035337394627220130813347089718415056564330782186171899023705...