Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: built in function for binary division

by AnomalousMonk (Chancellor)
on Jan 11, 2013 at 09:12 UTC ( #1012834=note: print w/replies, xml ) Need Help??

in reply to built in function for binary division

In addition the the reply of Kenosis, note also the integer pragma. Perl represents numbers internally as doubles. Although the fractional portion of a number is ignored when printed as binary, it still exists and can produce perhaps puzzling results in subsequent calculations.  use integer; causes the fractional portion to be majick'd away (don't ask me for details on this). This may produce results in your 'integer' operations that are more consistent with what you expect. (Note in the examples below, the divisor/multiplier is 0b1110 (14), not 0b1111.)

>perl -wMstrict -le "my $quo = 0b10010110 / 0b1110; my $n = $quo * 0b1110; printf qq{%f %b; %f %b \n}, $quo, $quo, $n, $n; ;; use integer; $quo = 0b10010110 / 0b1110; $n = $quo * 0b1110; printf qq{%f %b; %f %b \n}, $quo, $quo, $n, $n; " 10.714286 1010; 150.000000 10010110 10.000000 1010; 140.000000 10001100

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1012834]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2018-05-24 01:27 GMT
Find Nodes?
    Voting Booth?