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

📄 14.7.2.htm

📁 This ECMA Standard specifies the form and establishes the interpretation of programs written in the
💻 HTM
字号:
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Hyperlinked ECMA C# Language Specification</title><meta name="author" content="Jon Jagger" /><link rel="stylesheet" href="ecma334.css"></link></head><body><div align="right"><em><a href="http://www.jaggersoft.com">Jon Jagger</a></em></div><div align="right"><a href="mailto:jon@jaggersoft.com">jon@jaggersoft.com</a></div><form method="get" action="http://search.atomz.com/search/"><input size="30" name="sp-q"></input><input type="submit" value="Search C# Spec"></input><input type="hidden" name="sp-a" value="sp10024177"></input><input type="hidden" name="sp-f" value="ISO-8859-1"></input></form><a href="toc.htm">Table of Contents</a> <a href="1.htm">1</a> <a href="2.htm">2</a> <a href="3.htm">3</a> <a href="4.htm">4</a> <a href="5.htm">5</a> <a href="6.htm">6</a> <a href="7.htm">7</a> <a href="8.htm">8</a> <a href="9.htm">9</a> <a href="10.htm">10</a> <a href="11.htm">11</a> <a href="12.htm">12</a> <a href="13.htm">13</a> <a href="14.htm">14</a> <a href="15.htm">15</a> <a href="16.htm">16</a> <a href="17.htm">17</a> <a href="18.htm">18</a> <a href="19.htm">19</a> <a href="20.htm">20</a> <a href="21.htm">21</a> <a href="22.htm">22</a> <a href="23.htm">23</a> <a href="24.htm">24</a> <a href="25.htm">25</a> <a href="notes.htm">Notes</a> <a href="HyperlinkedCSharpECMA.zip">Download</a><span class="ruler"></span><span class="heading">ECMA-334 C# Language Specification</span><span class="navigate"><a href="14.7.1.htm"><img src="previous.gif" alt="previous" border="0" /></a><a href="14.7.3.htm"><img src="next.gif" alt="next" border="0" /></a></span><span class="clause-depth"><a href="13.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="15.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number-link"><a href="14.htm">14</a></span><span class="clause-title-previous"> Expressions</span></span><span class="clause-depth"><a href="14.6.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="14.8.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number-link"><a href="14.7.htm">14.7</a></span><span class="clause-title-previous"> Arithmetic operators</span></span><span class="clause-depth"><a href="14.7.1.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="14.7.3.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number">14.7.2</span><span class="clause-title"> Division operator</span></span><span class="locator">
     Paragraph 1</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P1S1"></a>For an operation of the form x / y, binary operator overload resolution (<a href="14.2.4.htm">&#167;14.2.4</a>) is applied to select a specific operator implementation.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P1S2"></a>The operands are converted to the parameter types of the selected operator, and the type of the result is the return type of the operator.</span> </span><span class="locator">
     Paragraph 2</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P2S1"></a>The predefined division operators are listed below.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P2S2"></a>The operators all compute the quotient of x and y.</span> <ul><li><span class="sentence"><span class="sentence-number">3</span> <a name="P2S3"></a> Integer division: <pre class="code-example">
int operator /(int x, int y);  
uint operator /(uint x, uint y);  
long operator /(long x, long y);  
ulong operator /(ulong x, ulong y);  
</pre><span class="sentence"><span class="sentence-number">4</span> <a name="P2S4"></a>If the value of the right operand is zero, a System.DivideByZeroException is thrown.</span> <span class="sentence"><span class="sentence-number">5</span> <a name="P2S5"></a>The division rounds the result towards zero, and the absolute value of the result is the largest possible integer that is less than the absolute value of the quotient of the two operands.</span> <span class="sentence"><span class="sentence-number">6</span> <a name="P2S6"></a>The result is zero or positive when the two operands have the same sign and zero or negative when the two operands have opposite signs.</span> <span class="sentence"><span class="sentence-number">7</span> <a name="P2S7"></a>If the left operand is the maximum negative <span class="keyword">int</span> or <span class="keyword">long</span> value and the right operand is -1, an overflow occurs.</span> <span class="sentence"><span class="sentence-number">8</span> <a name="P2S8"></a>In a checked context, this causes a System.OverflowException to be thrown.</span> <span class="sentence"><span class="sentence-number">9</span> <a name="P2S9"></a>In an unchecked context, the overflow is not reported and the result is instead the value of the left operand.</span> </span></li><li><span class="sentence"><span class="sentence-number">10</span> <a name="P2S10"></a> Floating-point division: <pre class="code-example">
float operator /(float x, float y);  
double operator /(double x, double y);  
</pre><span class="sentence"><span class="sentence-number">11</span> <a name="P2S11"></a>The quotient is computed according to the rules of IEEE 754 arithmetic.</span> <span class="sentence"><span class="sentence-number">12</span> <a name="P2S12"></a>The following table lists the results of all possible combinations of nonzero finite values, zeros, infinities, and NaN's.</span> <span class="sentence"><span class="sentence-number">13</span> <a name="P2S13"></a>In the table, x and y are positive finite values.</span> z is the result of x / y.</span> <span class="sentence"><span class="sentence-number">14</span> <a name="P2S14"></a>If the result is too large for the destination type, z is infinity.</span> <span class="sentence"><span class="sentence-number">15</span> <a name="P2S15"></a>If the result is too small for the destination type, z is zero.</span> 
<table border="1">
<tr>
  <th>/</th>
  <th>+y</th>
  <th>-y</th>
  <th>+0</th>
  <th>-0</th>
  <th>+&infin;</th>
  <th>-&infin;</th>
  <th>NaN</th>
</tr>

<tr>
  <th>+x</th>
  <td>+z</td>
  <td>-z</td>
  <td>+&infin;</td>
  <td>-&infin;</td>
  <td>+0</td>
  <td>-0</td>
  <td>NaN</td>
</tr>

<tr>
  <th>-x</th>
  <td>-z</td>
  <td>+z</td>
  <td>-&infin;</td>
  <td>+&infin;</td>
  <td>-0</td>
  <td>+0</td>
  <td>NaN</td>
</tr>

<tr>
  <th>+0</th>
  <td>+0</td>
  <td>-0</td>
  <td>NaN</td>
  <td>NaN</td>
  <td>+0</td>
  <td>-0</td>
  <td>NaN</td>
</tr>

<tr>
  <th>-0</th>
  <td>-0</td>
  <td>+0</td>
  <td>NaN</td>
  <td>NaN</td>
  <td>-0</td>
  <td>+0</td>
  <td>NaN</td>
</tr>

<tr>
  <th>+&infin;</th>
  <td>+&infin;</td>
  <td>-&infin;</td>
  <td>+&infin;</td>
  <td>-&infin;</td>
  <td>NaN</td>
  <td>NaN</td>
  <td>NaN</td>
</tr>

<tr>
  <th>-&infin;</th>
  <td>-&infin;</td>
  <td>+&infin;</td>
  <td>-&infin;</td>
  <td>+&infin;</td>
  <td>NaN</td>
  <td>NaN</td>
  <td>NaN</td>
</tr>

<tr>
  <th>NaN</th>
  <td>NaN</td>
  <td>NaN</td>
  <td>NaN</td>
  <td>NaN</td>
  <td>NaN</td>
  <td>NaN</td>
  <td>NaN</td>
</tr>

</table>
</li><li><span class="sentence"><span class="sentence-number">16</span> <a name="P2S16"></a> Decimal division: <pre class="code-example">
decimal operator /(decimal x, decimal y);  
</pre><span class="sentence"><span class="sentence-number">17</span> <a name="P2S17"></a>If the value of the right operand is zero, a System.DivideByZeroException is thrown.</span> <span class="sentence"><span class="sentence-number">18</span> <a name="P2S18"></a>If the resulting value is too large to represent in the <span class="keyword">decimal</span> format, a System.OverflowException is thrown.</span> <span class="sentence"><span class="sentence-number">19</span> <a name="P2S19"></a>If the result value is too small to represent in the <span class="keyword">decimal</span> format, the result is zero.</span> <span class="sentence"><span class="sentence-number">20</span> <a name="P2S20"></a>The scale of the result, before any rounding, is the smallest scale that will preserve a result equal to the exact result.</span> <span class="sentence"><span class="sentence-number">21</span> <a name="P2S21"></a>Decimal division is equivalent to using the division operator of type System.Decimal.</span> </span></li></ul></span><span class="ruler"></span><table><tr><td><table align="left" bgcolor="navy"><tr bgcolor="navy"><td><font face="Arial,sans-serif" size="6" color="yellow"><strong>{ JSL }</strong></font></td></tr></table></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>Jagger Software Ltd</strong></font></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>Company # 4070126</strong></font></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>VAT # 762 5213 42</strong></font></td></tr></table><img src="valid-html401.png" align="left" height="31" width="88" alt="Valid HTML 4.01" /><img src="vcss.gif" align="left" height="31" width="88" alt="Valid CSS" /></body></html>

⌨️ 快捷键说明

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