⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch31_11.htm

📁 编程珍珠,里面很多好用的代码,大家可以参考学习呵呵,
💻 HTM
字号:
<html><head><title>use integer (Programming Perl)</title><!-- STYLESHEET --><link rel="stylesheet" type="text/css" href="../style/style1.css"><!-- METADATA --><!--Dublin Core Metadata--><meta name="DC.Creator" content=""><meta name="DC.Date" content=""><meta name="DC.Format" content="text/xml" scheme="MIME"><meta name="DC.Generator" content="XSLT stylesheet, xt by James Clark"><meta name="DC.Identifier" content=""><meta name="DC.Language" content="en-US"><meta name="DC.Publisher" content="O'Reilly &amp; Associates, Inc."><meta name="DC.Source" content="" scheme="ISBN"><meta name="DC.Subject.Keyword" content=""><meta name="DC.Title" content="use integer"><meta name="DC.Type" content="Text.Monograph"></head><body><!-- START OF BODY --><!-- TOP BANNER --><img src="gifs/smbanner.gif" usemap="#banner-map" border="0" alt="Book Home"><map name="banner-map"><AREA SHAPE="RECT" COORDS="0,0,466,71" HREF="index.htm" ALT="Programming Perl"><AREA SHAPE="RECT" COORDS="467,0,514,18" HREF="jobjects/fsearch.htm" ALT="Search this book"></map><!-- TOP NAV BAR --><div class="navbar"><table width="515" border="0"><tr><td align="left" valign="top" width="172"><a href="ch31_10.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0"></a></td><td align="center" valign="top" width="171"><a href="ch31_01.htm">Chapter 31: Pragmatic Modules</a></td><td align="right" valign="top" width="172"><a href="ch31_12.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0"></a></td></tr></table></div><hr width="515" align="left"><!-- SECTION BODY --><h2 class="sect1">31.11. use integer</h2><blockquote><pre class="programlisting">use integer;$x = 10/3;# $x is now 3, not 3.33333333333333333</pre></blockquote><p>This lexically scoped pragma tells the compiler to use integeroperations from here through the end of the enclosing block.  Onmany machines, this doesn't matter a great deal for most computations,but on those few remaining architectures without floating-pointhardware, it can amount to a dramatic performance difference.</p><p>Note that this pragma affects certain numeric operations, not thenumbers themselves.  For example, if you run this code:<blockquote><pre class="programlisting">use integer;$x = 1.8;$y = $x + 1;$z = -1.8;</pre></blockquote>you'll be left with <tt class="literal">$x == 1.8</tt>, <tt class="literal">$y == 2</tt> and <tt class="literal">$z == -1</tt>.  The <tt class="literal">$z</tt> case happens because unary <tt class="literal">-</tt> counts as an operation, so the value <tt class="literal">1.8</tt> is truncated to <tt class="literal">1</tt> before its sign bit is flipped.  Likewise, functions that expect floating-point numbers, such as <tt class="literal">sqrt</tt> or the trig functions, still receive and return floats even under <tt class="literal">use integer</tt>.So <tt class="literal">sqrt(1.44)</tt> is <tt class="literal">1.2</tt>, but <tt class="literal">0 + sqrt(1.44)</tt> is now just <tt class="literal">1</tt>.</p><p>Native integer arithmetic as provided by your C compiler is used.This means that Perl's own semantics for arithmetic operations mightnot be preserved.  One common source of trouble is the modulus ofnegative numbers.  Perl may do it one way, but your hardware maydo it another:<blockquote><pre class="programlisting">% <tt class="userinput"><b>perl -le 'print (4 % -3)'</b></tt>-2% <tt class="userinput"><b>perl -Minteger -le 'print (4 % -3)'</b></tt>1</pre></blockquote></p><!-- BOTTOM NAV BAR --><hr width="515" align="left"><div class="navbar"><table width="515" border="0"><tr><td align="left" valign="top" width="172"><a href="ch31_10.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0"></a></td><td align="center" valign="top" width="171"><a href="index.htm"><img src="../gifs/txthome.gif" alt="Home" border="0"></a></td><td align="right" valign="top" width="172"><a href="ch31_12.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0"></a></td></tr><tr><td align="left" valign="top" width="172">31.10. use filetest</td><td align="center" valign="top" width="171"><a href="index/index.htm"><img src="../gifs/index.gif" alt="Book Index" border="0"></a></td><td align="right" valign="top" width="172">31.12. use less</td></tr></table></div><hr width="515" align="left"><!-- LIBRARY NAV BAR --><img src="../gifs/smnavbar.gif" usemap="#library-map" border="0" alt="Library Navigation Links"><p><font size="-1"><a href="copyrght.htm">Copyright &copy; 2001</a> O'Reilly &amp; Associates. All rights reserved.</font></p><map name="library-map"> <area shape="rect" coords="2,-1,79,99" href="../index.htm"><area shape="rect" coords="84,1,157,108" href="../perlnut/index.htm"><area shape="rect" coords="162,2,248,125" href="../prog/index.htm"><area shape="rect" coords="253,2,326,130" href="../advprog/index.htm"><area shape="rect" coords="332,1,407,112" href="../cookbook/index.htm"><area shape="rect" coords="414,2,523,103" href="../sysadmin/index.htm"></map><!-- END OF BODY --></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -