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

Re: built in function for binary division

by AnomalousMonk (Abbot)
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

ghosh123:
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


Comment on Re: built in function for binary division
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1012834]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (12)
As of 2014-09-18 09:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (109 votes), past polls