On Thu, Jun 12, 2008 at 4:45 AM, Dr.Ruud <[EMAIL PROTECTED]> wrote:
> "Jay Savage" schreef:
>
>> two integers as input that
>> represent a single float. The first is the integer part, the second is
>> hat mantissa. How do I recomine them into a single float?
>>
>> my $float = $int_part . '.' . $matissa; #or
>> my $float = sprintf "%u.%u", $int_part, $mantissa;
>
> The sprintf() makes me think that you receive the numbers, or at least
> the mantissa, with possible leading zeroes.
>
> I would add the venus operator:
>
> my $float = 0+ sprintf("%u.%u", $int_part, $mantissa);
>
> The $int_part is always non-negative?
>
> --
> Affijn, Ruud
>

You're right, the mantissa may have leading zeros. Good catch. I need
to keep them, though, or any later math will be off by multiple powers
of ten. I'd completely missed that on the first go-around, but what I
really need is

$x = sprinf "%u.%s", $int, $mantissa;

For the record, I'm retrieving high-res times for an external log
server (roughly equivalent to the output from
Time::HiRes::gettimeofday() ), and trying to put them back together
for use on our end. I guess I could also do something like:

$x = $int + ($mantissa / 10e6);

Thanks, again!

--j

--------------------------------------------------
This email and attachment(s): [ ] blogable; [ x ] ask first; [ ]
private and confidential

daggerquill [at] gmail [dot] com
http://www.tuaw.com http://www.downloadsquad.com http://www.engatiki.org

values of β will give rise to dom!

Reply via email to