On Sat, Feb 09, 2002 at 03:55:56PM +0800, [EMAIL PROTECTED] wrote:
> but for perl, all numeric data types are in floating point data type and
> there is no such thing as integer data type in perl...
meron...
>From `perldoc integer`
NAME
integer - Perl pragma to compute arithmetic in integer
instead of double
SYNOPSIS
use integer;
$x = 10/3;
# $x is now 3, not 3.33333333333333333
DESCRIPTION
This tells the compiler to use integer operations from
here to the end of the enclosing BLOCK. On many machines,
this doesn't matter a great deal for most computations,
but on those without floating point hardware, it can make
a big difference.
Note that this affects the operations, not the numbers.
If you run this code
use integer;
$x = 1.5;
$y = $x + 1;
$z = -1.5;
you'll be left with `$x == 1.5', `$y == 2' and `$z == -1'.
The $z case happens because unary `-' counts as an
operation.
Native integer arithmetic (as provided by your C compiler)
is used. This means that Perl's own semantics for
arithmetic operations may not be preserved. One common
source of trouble is the modulus of negative numbers,
which Perl does one way, but your hardware may do another.
% perl -le 'print (4 % -3)'
-2
% perl -Minteger -le 'print (4 % -3)'
1
See the Pragmatic Modules entry in the perlmod manpage.
You may also want to see the 'Integer Arithmetic' and
'Floating-point Arithmetic' section of `perldoc perlop`
--
$_=q:; # SHERWIN #
70;72;69;6e;74;20;
27;4a;75;73;74;20;
61;6e;6f;74;68;65;
72;20;50;65;72;6c;
20;6e;6f;76;69;63;
65;27;:;;s=~?(..);
?=pack q$C$,hex$1;
;;;=ge;;;;;eval;;;
_
Philippine Linux Users Group. Web site and archives at http://plug.linux.org.ph
To leave: send "unsubscribe" in the body to [EMAIL PROTECTED]
To subscribe to the Linux Newbies' List: send "subscribe" in the body to
[EMAIL PROTECTED]