📄 page_508.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>page_508</title> <link rel="stylesheet" href="reset.css" type="text/css" media="all"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <table summary="top nav" border="0" width="100%"> <tr> <td align="left" width="30%" style="background: #EEF3E2"><a style="color: blue; font-size: 120%; font-weight: bold; text-decoration: none; font-family: verdana;" href="page_507.html">< previous page</a></td> <td align="center" width="40%" style="background: #EEF3E2"><strong style="color: #2F4F4F; font-size: 120%;">page_508</strong></td> <td align="right" width="30%" style="background: #EEF3E2"><a style="color: blue; font-size: 120%; font-weight: bold; text-decoration: none; font-family: verdana;" href="page_509.html">next page ></a></td> </tr> <tr> <td align="left" colspan="3" style="background: #ffffff; padding: 20px;"> <table border="0" width="100%" cellpadding="0"><tr><td align="center"> <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td align="left"></td> <td align="right"></td> </tr></table></td></tr><tr><td align="left"><p></p><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td align="right"><font face="Times New Roman, Times, Serif" size="2" color="#FF0000">Page 508</font></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3"><i>Floating Point Types</i></font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">Ranges of Values</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">Below is a table that gives sample ranges of values for the three floating point types, </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">float</font><font face="Times New Roman, Times, Serif" size="3">, </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">double</font><font face="Times New Roman, Times, Serif" size="3">, and </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">long聽double</font><font face="Times New Roman, Times, Serif" size="3">. In this table we show, for each type, the maximum positive value and the minimum positive value (a tiny fraction that is very close to zero). Negative numbers have the same range but the opposite sign. Ranges of values are expressed in exponential (scientific) notation, where 3.4E+38 means 3.4 脳 10</font><font face="Times New Roman, Times, Serif" size="2"><sup>38</sup></font><font face="Times New Roman, Times, Serif" size="3">.</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="12"></td></tr><tr><td><table cellspacing="0" width="475" cellpadding="4"><tr><td valign="bottom"><font face="Times New Roman, Times, Serif" size="2"><i>Type</i></font></td><td valign="bottom"><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td align="center"><font face="Times New Roman, Times, Serif" size="2"><i>Size in Bytes*</i></font></td></tr></table></td><td valign="bottom"><font face="Times New Roman, Times, Serif" size="2"><i>Minimum Positive Value*</i></font></td><td valign="bottom"><font face="Times New Roman, Times, Serif" size="2"><i>Maximum Positive Value*</i></font></td></tr><tr><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">float</font></td><td valign="top"><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td align="center"><font face="Times New Roman, Times, Serif" size="2">4</font></td></tr></table></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">3.4E-38</font></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">3.4E+38</font></td></tr><tr><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">double</font></td><td valign="top"><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td align="center"><font face="Times New Roman, Times, Serif" size="2">8</font></td></tr></table></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">1.7E-308</font></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">1.7E+308</font></td></tr><tr><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">long double</font></td><td valign="top"><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td align="center"><font face="Times New Roman, Times, Serif" size="2">10</font></td></tr></table></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">3.4E-4932</font></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">1.1E+4932</font></td></tr><tr><td colspan="4" valign="top"><font face="Times New Roman, Times, Serif" size="2">* These values are for one particular machine. Your machine's values may be different.</font></td></tr></table></td></tr></table><br /><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">The standard header file </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">float.h</font><font face="Times New Roman, Times, Serif" size="3"> defines the constants </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">FLT_MAX</font><font face="Times New Roman, Times, Serif" size="3"> and </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">FLT_MIN</font><font face="Times New Roman, Times, Serif" size="3">, </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">DBL_MAX</font><font face="Times New Roman, Times, Serif" size="3"> and </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">DBL_MIN</font><font face="Times New Roman, Times, Serif" size="3">, and </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">LDBL_MAX</font><font face="Times New Roman, Times, Serif" size="3"> and </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">LDBL_MIN</font><font face="Times New Roman, Times, Serif" size="3">. To determine the ranges of values for your machine, you could write a short program that prints out these constants.</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">Constants</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">When you use a floating point constant like 5.8 in a C++ program, its type is assumed to be </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">double</font><font face="Times New Roman, Times, Serif" size="3"> (double precision). If you store the value into a </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">float</font><font face="Times New Roman, Times, Serif" size="3"> variable, the computer coerces its type from </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">double</font><font face="Times New Roman, Times, Serif" size="3"> to </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">float</font><font face="Times New Roman, Times, Serif" size="3"> (single precision). If you insist on a constant being of type </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">float</font><font face="Times New Roman, Times, Serif" size="3"> rather than </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">double</font><font face="Times New Roman, Times, Serif" size="3">, you can append an </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">F</font><font face="Times New Roman, Times, Serif" size="3"> or an </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">f</font><font face="Times New Roman, Times, Serif" size="3"> at the end of the constant. Similarly, a suffix of </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">L</font><font face="Times New Roman, Times, Serif" size="3"> or </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">l</font><font face="Times New Roman, Times, Serif" size="3"> signifies a </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">long聽double</font><font face="Times New Roman, Times, Serif" size="3"> constant. Here are some examples of floating point constants in C++:</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="12"></td></tr><tr><td><table cellspacing="0" width="480" cellpadding="7"><tr><td valign="top"><font face="Times New Roman, Times, Serif" size="2"><i>Constant</i></font></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2"><i>Type</i></font></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2"><i>Remarks</i></font></td></tr><tr><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">6.83</font></td><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">double</font></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">By default, floating point constants are of type </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">double</font></td></tr><tr><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">6.83F</font></td><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">float</font></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">Explicit </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">float</font><font face="Times New Roman, Times, Serif" size="2"> constants end in </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">F</font><font face="Times New Roman, Times, Serif" size="2"> or </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">f</font><font face="Times New Roman, Times, Serif" size="2">.</font></td></tr><tr><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">6.83L</font></td><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">long聽double</font></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">Explicit </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">long聽double</font><font face="Times New Roman, Times, Serif" size="2"> constants end in </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">L</font><font face="Times New Roman, Times, Serif" size="2"> or </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">l</font><font face="Times New Roman, Times, Serif" size="2">.</font></td></tr><tr><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">4.35E-9</font></td><td valign="top"><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">double</font></td><td valign="top"><font face="Times New Roman, Times, Serif" size="2">Exponential notation, meaning 4.35 脳 10<sup>-9</sup></font></td></tr></table></td></tr></table><br /><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">Here's the syntax template for a floating point constant in C++:</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table></td></tr></table><p><font size="0"></font></p>聽 </td> </tr> <tr> <td align="left" width="30%" style="background: #EEF3E2"><a style="color: blue; font-size: 120%; font-weight: bold; text-decoration: none; font-family: verdana;" href="page_507.html">< previous page</a></td> <td align="center" width="40%" style="background: #EEF3E2"><strong style="color: #2F4F4F; font-size: 120%;">page_508</strong></td> <td align="right" width="30%" style="background: #EEF3E2"><a style="color: blue; font-size: 120%; font-weight: bold; text-decoration: none; font-family: verdana;" href="page_509.html">next page ></a></td> </tr> </table> </body> </html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -