<!DOCTYPE html>
<html class="client-js"><head>
  <meta charset="UTF-8">
  <title>fenv.h</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="canonical" href="https://zh.wikipedia.org/wiki/Fenv.h">
  <link href="../-/mw/skins.minerva.base.reset|skins.minerva.content.styles|ext.cite.style|site.styles|mobile.app.pagestyles.android|mediawiki.page.gallery.styles|mediawiki.skinning.content.parsoid.css" rel="stylesheet" type="text/css">
  <link href="../-/style.css" rel="stylesheet" type="text/css"><link href="../-/content.parsoid.css" rel="stylesheet" type="text/css"><link href="../-/inserted_style.css" rel="stylesheet" type="text/css">
  <script data-article-id="Fenv.h" id="script-js" src="../-/script.js"></script><script src="../-/masonry.min.js"></script><script src="../-/article_list_home.js"></script><script src="../-/images_loaded.min.js"></script><script src="../-/node_module/details-element-polyfill/dist/details-element-polyfill.js"></script>
</head>

<body class="mediawiki mw-hide-empty-elt ns-0 ns-subject stable skin-minerva action-view animations">
  <div id="mw-mf-viewport" class="feature-header-v2">
    <div id="mw-mf-page-center">
      <div id="content" class="mw-body">
        <a id="top"></a>
        <div id="bodyContent" class="content mw-parser-output">
          
          <div id="mw-content-text" style="direction: ltr;"><h1 class="section-heading" tabindex="0" aria-haspopup="true" data-section-id="0">
  <span class="mw-headline" id="title_0">fenv.h</span>
</h1>
<div id="mf-section-0" class="mf-section-0" aria-pressed="true" aria-expanded="true">
  <p><b><code>fenv.h</code></b>是<span class="new">C標準函数庫</span>中的<a href="%E5%A4%B4%E6%96%87%E4%BB%B6" title="头文件">头文件</a>，提供了对浮点环境的支持。浮点环境（floating-point environment）是指任何实现支持的浮点状态标志与控制模式。浮点状态标志（floating-point status flag）是一个系统变量，当浮点异常被抛出时该系统变量被置位。浮点控制模式（floating-point
control mode）是一个系统变量，用户可以对其置位，以影响随后的浮点运算行为。 </p>
<meta property="mw:PageProp/toc"><p><meta data-mw-variant="{&quot;title&quot;:true,&quot;twoway&quot;:[{&quot;l&quot;:&quot;zh&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh\&quot;],\&quot;t\&quot;:\&quot;fenv.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-hans&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-hans\&quot;],\&quot;t\&quot;:\&quot;fenv.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-hans\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-hant&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-hant\&quot;],\&quot;t\&quot;:\&quot;fenv.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-hant\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-cn&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-cn\&quot;],\&quot;t\&quot;:\&quot;fenv.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-cn\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-hk&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-hk\&quot;],\&quot;t\&quot;:\&quot;fenv.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-hk\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-mo&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-mo\&quot;],\&quot;t\&quot;:\&quot;fenv.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-mo\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-my&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-my\&quot;],\&quot;t\&quot;:\&quot;fenv.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-my\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-sg&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-sg\&quot;],\&quot;t\&quot;:\&quot;fenv.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-sg\&quot;]}'></span>&quot;},{&quot;l&quot;:&quot;zh-tw&quot;,&quot;t&quot;:&quot;<span typeof=\&quot;mw:LanguageVariant\&quot; data-mw-variant='{\&quot;filter\&quot;:{\&quot;l\&quot;:[\&quot;zh-tw\&quot;],\&quot;t\&quot;:\&quot;fenv.h\&quot;}}' data-parsoid='{\&quot;fl\&quot;:[\&quot;zh-tw\&quot;]}'></span>&quot;}]}"></p>
<style data-mw-deduplicate="TemplateStyles:r78597503">.mw-parser-output .hlist ul,.mw-parser-output .hlist ol{padding-left:0}.mw-parser-output .hlist li,.mw-parser-output .hlist dd,.mw-parser-output .hlist dt{margin:0;display:inline}.mw-parser-output .hlist dt:after,.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{white-space:normal}.mw-parser-output .hlist dt:after{content:" :"}.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{content:" · ";font-weight:bold}.mw-parser-output .hlist-pipe dd:after,.mw-parser-output .hlist-pipe li:after{content:" | ";font-weight:normal}.mw-parser-output .hlist-hyphen dd:after,.mw-parser-output .hlist-hyphen li:after{content:" - ";font-weight:normal}.mw-parser-output .hlist-comma dd:after,.mw-parser-output .hlist-comma li:after{content:"、";font-weight:normal}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)" "}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)"\a0 "}.mw-parser-output ul.cslist,.mw-parser-output ul.sslist{margin:0;padding:0;display:inline-block;list-style:none}.mw-parser-output .cslist li,.mw-parser-output .sslist li{margin:0;display:inline-block}.mw-parser-output .cslist li:after{content:"，"}.mw-parser-output .sslist li:after{content:"；"}.mw-parser-output .cslist li:last-child:after,.mw-parser-output .sslist li:last-child:after{content:none}</style><style data-mw-deduplicate="TemplateStyles:r78559700">.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:#f8f9fa;border:1px solid #aaa;padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:100%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:720px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}</style><table class="sidebar nomobile nowraplinks"><tbody><tr><th class="sidebar-title"><a href="C%E6%A8%99%E6%BA%96%E5%87%BD%E5%BC%8F%E5%BA%AB" title="C標準函式庫"></a></th></tr><tr><th class="sidebar-heading">
一般</th></tr><tr><td class="sidebar-content" style="text-align: left">
<ul><li><a href="Stdlib.h#数据类型" title="Stdlib.h">数据类型</a></li>
<li><a href="Ctype.h" title="Ctype.h">字符类型</a></li>
<li><a href="String.h" title="String.h">字符串</a></li>
<li><a href="Math.h" title="Math.h">数学</a></li>
<li><a href="Stdio.h" title="Stdio.h">文件输入/输出</a></li>
<li><a href="Time.h" title="Time.h">日期/时间</a></li>
<li><a href="Locale.h" title="Locale.h">本地化</a></li>
<li><a href="Stdlib.h#函数" title="Stdlib.h">内存分配</a></li>
<li><a href="Stdlib.h#函数" title="Stdlib.h">过程控制</a></li>
<li><a href="Signal.h" title="Signal.h">信号</a></li>
<li><a href="C%E6%9B%BF%E4%BB%A3%E6%A0%87%E8%AE%B0" title="C替代标记">替代标记</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
杂项</th></tr><tr><td class="sidebar-content" style="text-align: left">
<ul><li><code>&lt;<a href="Assert.h" title="Assert.h">assert.h</a>&gt;</code></li>
<li><code>&lt;<a href="Errno.h" title="Errno.h">errno.h</a>&gt;</code></li>
<li><code>&lt;<a href="Setjmp.h" title="Setjmp.h">setjmp.h</a>&gt;</code></li>
<li><code>&lt;<a href="Stdarg.h" title="Stdarg.h">stdarg.h</a>&gt;</code></li></ul></td>
</tr><tr><td class="sidebar-navbar" style="line-height:1.6"><style data-mw-deduplicate="TemplateStyles:r79166977">.mw-parser-output .navbar{display:inline;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}</style></td></tr></tbody></table> 

</div><details data-level="2" open="">
    <summary class="section-heading"><h2 id="类型">类型</h2></summary>
    
<ul><li>fenv_t  表示整体浮点环境</li>
<li>fexcept_t 表示浮点状态的集合</li></ul>

    
</details><details data-level="2" open="">
    <summary class="section-heading"><h2 id="宏">宏</h2></summary>
     
<ul><li>表示各种浮点运算异常：
<ul><li>FE_DIVBYZERO</li>
<li>FE_INEXACT</li>
<li>FE_INVALID</li>
<li>FE_OVERFLOW</li>
<li>FE_UNDERFLOW</li>
<li>FE_ALL_EXCEPT</li></ul></li>
<li>近似舍入方法
<ul><li>FE_DOWNWARD</li>
<li>FE_TONEAREST</li>
<li>FE_TOWARDZERO</li>
<li>FE_UPWARD</li></ul></li>
<li>缺省浮点环境
<ul><li>FE_DFL_ENV</li></ul></li></ul>

    
</details><details data-level="2" open="">
    <summary class="section-heading"><h2 id="函数">函数</h2></summary>
    
<ul><li>feclearexcept  清除给定的浮点异常</li>
<li>fegetexceptflag 保存一个浮点状态标志到对象中</li>
<li>feraiseexcept 抛出一个浮点异常</li>
<li>fesetexceptflag 设置一个浮点状态标志到对象中</li>
<li>fetestexcept 测试那些浮点异常标志被置位</li>
<li>fegetround 获取当前近似舍入方法</li>
<li>fesetround 设置近似舍入方法</li>
<li>fegetenv 存储当前浮点环境到对象中</li>
<li>feholdexcept 存储当前浮点环境到对象中，清楚浮点状态标志，安装non-stop模式</li>
<li>fesetenv 从对象存储的浮点环境恢复现场</li>
<li>feupdateenv 保存当前浮点异常，从对象存储的浮点环境恢复现场，再重新抛出当前浮点异常</li></ul>

    
</details><details data-level="2" open="">
    <summary class="section-heading"><h2 id="参考文献">参考文献</h2></summary>
    
<div class="reflist " style=" list-style-type: decimal;">
<ol class="mw-references references"></ol></div>
 


    
</details><!--htdig_noindex--><div><div style="clear:both; background-image:linear-gradient(180deg, #E8E8E8, white); border-top: dashed 2px #AAAAAA; padding: 0.5em 0.5em 0.5em 0.5em; margin-top: 1em; direction: ltr;">
    This article is issued from <a class="external text" title="Last edited on 2015-06-18" href="https://zh.wikipedia.org/wiki/?title=Fenv.h&amp;oldid=36029061">Wikipedia</a>. The text is licensed under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons - Attribution - Sharealike</a>. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
        </div>
      </div>
    </div>
  </div>
  <script src="../-/mw/jsConfigVars.js"></script>
  <script src="../-/mw/startup.js"></script>
<script src="../-/mw/jquery,mediawiki.js"></script>
<script src="../-/mw/mediawiki.base.js"></script>
<script src="../-/mw/mediawiki.util.js"></script>
<script src="../-/mw/site.js"></script>
<script src="../-/mw/mediawiki.page.ready.js"></script>
<script src="../-/mw/jquery.cookie.js"></script>
<script src="../-/mw/mediawiki.cookie.js"></script>
<script src="../-/mw/mediawiki.storage.js"></script>
<script src="../-/mw/ext.gadget.VisibilityToggles.js"></script>
<script src="../-/mw/ext.gadget.defaultVisibilityToggles.js"></script>



</body></html>