CINXE.COM

NaN - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>NaN - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"abb7b4bb-fa06-4ae6-866c-591351033f6d","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"NaN","wgTitle":"NaN","wgCurRevisionId":1258952740,"wgRevisionId":1258952740,"wgArticleId":49244,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description matches Wikidata","All articles with unsourced statements","Articles with unsourced statements from September 2024","Wikipedia articles needing clarification from February 2024","All Wikipedia articles needing clarification","Wikipedia articles needing clarification from October 2011","Articles with unsourced statements from December 2021","Pages containing links to subscription-only content","Use dmy dates from December 2020","Computer arithmetic", "Software anomalies"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"NaN","wgRelevantArticleId":49244,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false, "wgWikibaseItemId":"Q858684","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","ext.scribunto.logs","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js", "ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="NaN - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/NaN"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=NaN&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/NaN"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-NaN rootpage-NaN skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=NaN" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=NaN" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=NaN" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=NaN" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Floating_point" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Floating_point"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Floating point</span> </div> </a> <button aria-controls="toc-Floating_point-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Floating point subsection</span> </button> <ul id="toc-Floating_point-sublist" class="vector-toc-list"> <li id="toc-Comparison_with_NaN" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Comparison_with_NaN"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Comparison with NaN</span> </div> </a> <ul id="toc-Comparison_with_NaN-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Operations_generating_NaN" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Operations_generating_NaN"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Operations generating NaN</span> </div> </a> <ul id="toc-Operations_generating_NaN-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Quiet_NaN" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Quiet_NaN"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Quiet NaN</span> </div> </a> <ul id="toc-Quiet_NaN-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Signaling_NaN" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Signaling_NaN"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span> <span>Signaling NaN</span> </div> </a> <ul id="toc-Signaling_NaN-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Payload_operations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Payload_operations"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.5</span> <span>Payload operations</span> </div> </a> <ul id="toc-Payload_operations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Encoding" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Encoding"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.6</span> <span>Encoding</span> </div> </a> <ul id="toc-Encoding-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Canonical_NaN" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Canonical_NaN"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.7</span> <span>Canonical NaN</span> </div> </a> <ul id="toc-Canonical_NaN-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Function_definition" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Function_definition"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Function definition</span> </div> </a> <ul id="toc-Function_definition-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Integer_NaN" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Integer_NaN"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Integer NaN</span> </div> </a> <ul id="toc-Integer_NaN-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Display" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Display"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Display</span> </div> </a> <ul id="toc-Display-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>References</span> </div> </a> <button aria-controls="toc-References-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle References subsection</span> </button> <ul id="toc-References-sublist" class="vector-toc-list"> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Citations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Citations"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.2</span> <span>Citations</span> </div> </a> <ul id="toc-Citations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Standards" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Standards"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.3</span> <span>Standards</span> </div> </a> <ul id="toc-Standards-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">NaN</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 28 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-28" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">28 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wikipedia.org/wiki/NaN" title="NaN – Minnan" lang="nan" hreflang="nan" data-title="NaN" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="Minnan" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/NaN" title="NaN – Bulgarian" lang="bg" hreflang="bg" data-title="NaN" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/NaN" title="NaN – Catalan" lang="ca" hreflang="ca" data-title="NaN" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/NaN" title="NaN – Czech" lang="cs" hreflang="cs" data-title="NaN" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/NaN" title="NaN – German" lang="de" hreflang="de" data-title="NaN" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/NaN" title="NaN – Greek" lang="el" hreflang="el" data-title="NaN" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/NaN" title="NaN – Spanish" lang="es" hreflang="es" data-title="NaN" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Nenombro" title="Nenombro – Esperanto" lang="eo" hreflang="eo" data-title="Nenombro" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/NaN" title="NaN – Persian" lang="fa" hreflang="fa" data-title="NaN" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/NaN" title="NaN – French" lang="fr" hreflang="fr" data-title="NaN" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/NaN" title="NaN – Korean" lang="ko" hreflang="ko" data-title="NaN" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/NaN" title="NaN – Indonesian" lang="id" hreflang="id" data-title="NaN" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/NaN" title="NaN – Italian" lang="it" hreflang="it" data-title="NaN" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/NaN" title="NaN – Lithuanian" lang="lt" hreflang="lt" data-title="NaN" data-language-autonym="Lietuvių" data-language-local-name="Lithuanian" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/NaN" title="NaN – Hungarian" lang="hu" hreflang="hu" data-title="NaN" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/NaN" title="NaN – Dutch" lang="nl" hreflang="nl" data-title="NaN" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/NaN" title="NaN – Japanese" lang="ja" hreflang="ja" data-title="NaN" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/NaN" title="NaN – Polish" lang="pl" hreflang="pl" data-title="NaN" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/NaN" title="NaN – Portuguese" lang="pt" hreflang="pt" data-title="NaN" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D1%87%D0%B8%D1%81%D0%BB%D0%BE" title="Нечисло – Russian" lang="ru" hreflang="ru" data-title="Нечисло" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/NaN" title="NaN – Simple English" lang="en-simple" hreflang="en-simple" data-title="NaN" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/NaN" title="NaN – Finnish" lang="fi" hreflang="fi" data-title="NaN" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/NaN" title="NaN – Swedish" lang="sv" hreflang="sv" data-title="NaN" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B9%84%E0%B8%A1%E0%B9%88%E0%B9%83%E0%B8%8A%E0%B9%88%E0%B8%88%E0%B8%B3%E0%B8%99%E0%B8%A7%E0%B8%99" title="ไม่ใช่จำนวน – Thai" lang="th" hreflang="th" data-title="ไม่ใช่จำนวน" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Say%C4%B1_de%C4%9Fil" title="Sayı değil – Turkish" lang="tr" hreflang="tr" data-title="Sayı değil" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/NaN" title="NaN – Ukrainian" lang="uk" hreflang="uk" data-title="NaN" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/NaN" title="NaN – Vietnamese" lang="vi" hreflang="vi" data-title="NaN" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/NaN" title="NaN – Chinese" lang="zh" hreflang="zh" data-title="NaN" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q858684#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/NaN" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:NaN" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/NaN"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=NaN&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=NaN&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/NaN"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=NaN&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=NaN&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/NaN" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/NaN" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=NaN&amp;oldid=1258952740" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=NaN&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=NaN&amp;id=1258952740&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FNaN"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FNaN"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=NaN&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=NaN&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q858684" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Value for unrepresentable data</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">For other uses, see <a href="/wiki/Nan_(disambiguation)" class="mw-redirect mw-disambig" title="Nan (disambiguation)">Nan (disambiguation)</a>.</div> <p>In <a href="/wiki/Computing" title="Computing">computing</a>, <b>NaN</b> (<span class="rt-commentedText nowrap"><span class="IPA nopopups noexcerpt" lang="en-fonipa"><a href="/wiki/Help:IPA/English" title="Help:IPA/English">/<span style="border-bottom:1px dotted"><span title="&#39;n&#39; in &#39;nigh&#39;">n</span><span title="/æ/: &#39;a&#39; in &#39;bad&#39;">æ</span><span title="&#39;n&#39; in &#39;nigh&#39;">n</span></span>/</a></span></span>), standing for <b>Not a Number</b>, is a particular <a href="/wiki/Value_(computer_science)" title="Value (computer science)">value</a> of a numeric <a href="/wiki/Data_type" title="Data type">data type</a> (often a <a href="/wiki/Floating-point_arithmetic" title="Floating-point arithmetic">floating-point number</a>) which is undefined as a number, such as the result of <a href="/wiki/0/0" class="mw-redirect" title="0/0">0/0</a>. Systematic use of NaNs was introduced by the <a href="/wiki/IEEE_754" title="IEEE 754">IEEE&#160;754</a> floating-point standard in 1985, along with the representation of other non-finite quantities such as <a href="/wiki/Infinity" title="Infinity">infinities</a>. </p><p>In <a href="/wiki/Mathematics" title="Mathematics">mathematics</a>, the result of 0/0 is typically not defined as a number<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>a<span class="cite-bracket">&#93;</span></a></sup> and may therefore be represented by NaN in computing systems. </p><p>The <a href="/wiki/Square_root" title="Square root">square root</a> of a <a href="/wiki/Negative_number" title="Negative number">negative number</a> is not a <a href="/wiki/Real_number" title="Real number">real number</a>, and is therefore also represented by NaN in compliant computing systems. NaNs may also be used to represent missing values in computations.<sup id="cite_ref-idl_2-0" class="reference"><a href="#cite_note-idl-2"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </p><p>Two separate kinds of NaNs are provided, termed <i>quiet NaNs</i> and <i>signaling NaNs</i>. Quiet NaNs are used to propagate errors resulting from invalid operations or values. Signaling NaNs can support advanced features such as mixing numerical and <a href="/wiki/Computer_algebra" title="Computer algebra">symbolic computation</a> or other extensions to basic floating-point arithmetic. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Floating_point">Floating point</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=1" title="Edit section: Floating point"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.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 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 dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.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 "}</style><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style><style data-mw-deduplicate="TemplateStyles:r1246091330">.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);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:115%;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:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}</style><table class="sidebar nomobile nowraplinks plainlist"><tbody><tr><th class="sidebar-title"><a href="/wiki/Floating-point_arithmetic" title="Floating-point arithmetic">Floating-point</a> <a href="/wiki/Computer_number_format" title="Computer number format">formats</a></th></tr><tr><th class="sidebar-heading"> <a href="/wiki/IEEE_754" title="IEEE 754">IEEE 754</a></th></tr><tr><td class="sidebar-content"> <ul><li>16-bit: <a href="/wiki/Half-precision_floating-point_format" title="Half-precision floating-point format">Half</a> (binary16)</li> <li>32-bit: <a href="/wiki/Single-precision_floating-point_format" title="Single-precision floating-point format">Single</a> (binary32), <a href="/wiki/Decimal32_floating-point_format" title="Decimal32 floating-point format">decimal32</a></li> <li>64-bit: <a href="/wiki/Double-precision_floating-point_format" title="Double-precision floating-point format">Double</a> (binary64), <a href="/wiki/Decimal64_floating-point_format" title="Decimal64 floating-point format">decimal64</a></li> <li>128-bit: <a href="/wiki/Quadruple-precision_floating-point_format" title="Quadruple-precision floating-point format">Quadruple</a> (binary128), <a href="/wiki/Decimal128_floating-point_format" title="Decimal128 floating-point format">decimal128</a></li> <li>256-bit: <a href="/wiki/Octuple-precision_floating-point_format" title="Octuple-precision floating-point format">Octuple</a> (binary256)</li> <li><a href="/wiki/Extended_precision" title="Extended precision">Extended precision</a></li></ul></td> </tr><tr><th class="sidebar-heading"> Other</th></tr><tr><td class="sidebar-content"> <ul><li><a href="/wiki/Minifloat" title="Minifloat">Minifloat</a></li> <li><a href="/wiki/Bfloat16_floating-point_format" title="Bfloat16 floating-point format">bfloat16</a></li> <li><a href="/wiki/TensorFloat-32" title="TensorFloat-32">TensorFloat-32</a></li> <li><a href="/wiki/Microsoft_Binary_Format" title="Microsoft Binary Format">Microsoft Binary Format</a></li> <li><a href="/wiki/IBM_hexadecimal_floating-point" title="IBM hexadecimal floating-point">IBM floating-point architecture</a></li> <li><a href="/wiki/Power_Management_Bus#Linear11_Floating-Point_Format" title="Power Management Bus">PMBus Linear-11</a></li> <li><a href="/wiki/G.711" title="G.711">G.711 8-bit floats</a></li></ul></td> </tr><tr><th class="sidebar-heading"> Alternatives</th></tr><tr><td class="sidebar-content"> <ul><li><a href="/wiki/Arbitrary-precision_arithmetic" title="Arbitrary-precision arithmetic">Arbitrary precision</a></li></ul></td> </tr><tr><th class="sidebar-heading"> <a href="/wiki/Tapered_floating_point" title="Tapered floating point">Tapered floating point</a></th></tr><tr><td class="sidebar-content"> <ul><li><a href="/wiki/Unum_(number_format)" title="Unum (number format)">Posit</a></li></ul></td> </tr><tr><td class="sidebar-navbar"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;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}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Floating-point" title="Template:Floating-point"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Floating-point" title="Template talk:Floating-point"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Floating-point" title="Special:EditPage/Template:Floating-point"><abbr title="Edit this template">e</abbr></a></li></ul></div></td></tr></tbody></table> <p>In floating-point calculations, NaN is not the same as <a href="/wiki/Extended_real_number_line" title="Extended real number line">infinity</a>, although both are typically handled as special cases in floating-point representations of real numbers as well as in floating-point operations. An invalid operation is also not the same as an <a href="/wiki/Arithmetic_overflow" class="mw-redirect" title="Arithmetic overflow">arithmetic overflow</a> (which would return an infinity or the largest finite number in magnitude) or an <a href="/wiki/Arithmetic_underflow" title="Arithmetic underflow">arithmetic underflow</a> (which would return the smallest <a href="/wiki/Normal_number_(computing)" title="Normal number (computing)">normal number</a> in magnitude, a <a href="/wiki/Subnormal_number" title="Subnormal number">subnormal number</a>, or <a href="/wiki/0_(number)" class="mw-redirect" title="0 (number)">zero</a>). </p><p><a href="/wiki/IEEE_754" title="IEEE 754">IEEE 754</a> NaNs are encoded with the exponent field filled with ones (like infinity values), and some non-zero number in the significand field (to make them distinct from infinity values); this allows the definition of multiple distinct NaN values, depending on which bits are set in the significand field, but also on the value of the leading sign bit (but applications are not required to provide distinct semantics for those distinct NaN values). </p><p>For example, an IEEE 754 single precision (32-bit) NaN would be encoded as </p> <style data-mw-deduplicate="TemplateStyles:r996643573">.mw-parser-output .block-indent{padding-left:3em;padding-right:0;overflow:hidden}</style><div class="block-indent"><code><i>s</i>111 1111 1<i>xxx xxxx xxxx xxxx xxxx xxxx</i></code></div> <p>where <i>s</i> is the sign (most often ignored in applications) and the <i>x</i> sequence represents a non-zero number (the value zero encodes infinities). In practice, the most significant bit from <i>x</i> is used to determine the type of NaN: "<a href="#Quiet_NaN">quiet NaN</a>" or "<a href="#Signaling_NaN">signaling NaN</a>" (see details in <a href="#Encoding">Encoding</a>). The remaining bits encode a <i>payload</i> (most often ignored in applications). </p><p>Floating-point operations other than ordered comparisons normally propagate a quiet NaN (<i>qNaN</i>). Most floating-point operations on a signaling NaN (<i>sNaN</i>) signal the invalid-operation <a href="/wiki/IEEE_754#Exception_handling" title="IEEE 754">exception</a>; the default exception action is then the same as for qNaN operands and they produce a qNaN if producing a floating-point result. </p><p>The propagation of quiet NaNs through arithmetic operations allows errors to be detected at the end of a sequence of operations without extensive testing during intermediate stages. For example, if one starts with a NaN and adds 1 five times in a row, each addition results in a NaN, but there is no need to check each calculation because one can just note that the final result is NaN. However, depending on the language and the function, NaNs can silently be removed from a chain of calculations where one calculation in the chain would give a constant result for all other floating-point values. For example, the calculation <i>x</i><sup>0</sup> may produce the result 1, even where <i>x</i> is NaN, so checking only the final result would obscure the fact that a calculation before the <i>x</i><sup>0</sup> resulted in a NaN. In general, then, a later test for a set <i>invalid</i> flag is needed to detect all cases where NaNs are introduced<sup id="cite_ref-LectureNotes_4-0" class="reference"><a href="#cite_note-LectureNotes-4"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> (see <a href="#Function_definition">Function definition</a> below for further details). </p><p>In section 6.2 of the old <a href="/wiki/IEEE_754-2008_revision" title="IEEE 754-2008 revision">IEEE 754-2008</a> standard, there are two anomalous functions (the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">maxNum</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">minNum</code> functions, which return the maximum and the minimum, respectively, of two operands that are expected to be numbers) that favor numbers&#160;— if just one of the operands is a NaN then the value of the other operand is returned. The <a href="/wiki/IEEE_754-2019_revision" class="mw-redirect" title="IEEE 754-2019 revision">IEEE 754-2019</a> revision has replaced these functions as they are not <a href="/wiki/Associative_property" title="Associative property">associative</a> (when a signaling NaN appears in an operand).<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Comparison_with_NaN">Comparison with NaN</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=2" title="Edit section: Comparison with NaN"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Comparisons are specified by the <a href="/wiki/IEEE_754" title="IEEE 754">IEEE 754</a> standard to take into account possible NaN operands.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> When comparing two real numbers, or <a href="/wiki/Extended_real_number_line" title="Extended real number line">extended real numbers</a> (as in the IEEE 754 floating-point formats), the first number may be either less than, equal to, or greater than the second number. This gives three possible relations. But when at least one operand of a comparison is NaN, this trichotomy does not apply, and a fourth relation is needed: <i>unordered</i>. In particular, two NaN values compare as unordered, not as equal. </p><p>As specified, the predicates associated with the &lt;, ≤, =, ≥, &gt; mathematical symbols (or equivalent notation in programming languages) return false on an unordered relation. So, for instance, <span class="nowrap"><a href="/wiki/Negation" title="Negation">NOT</a>(<i>x</i> &lt; <i>y</i>)</span> is not logically equivalent to <span class="nowrap"><i>x</i> ≥ <i>y</i></span>: on unordered, i.e. when <i>x</i> or <i>y</i> is NaN, the former returns true while the latter returns false. However, ≠ is defined as the negation of =, thus it returns true on unordered. </p> <table class="wikitable" style="text-align: center"> <caption>Comparison between NaN and any floating-point value <i>x</i><br />(including NaN and ±∞) </caption> <tbody><tr> <th>Comparison </th> <td>NaN ≥ <i>x</i> </td> <td>NaN ≤ <i>x</i> </td> <td>NaN &gt; <i>x</i> </td> <td>NaN &lt; <i>x</i> </td> <td>NaN = <i>x</i> </td> <td>NaN ≠ <i>x</i> </td></tr> <tr> <th>Result </th> <td>False </td> <td>False </td> <td>False </td> <td>False </td> <td>False </td> <td>True </td></tr></tbody></table> <p>From these rules, comparing <i>x</i> with itself, <span class="nowrap"><i>x</i> ≠ <i>x</i></span> or <span class="nowrap"><i>x</i> = <i>x</i></span>, can be used to test whether <i>x</i> is NaN or non-NaN. </p><p>The comparison predicates are either signaling or non-signaling on quiet NaN operands; the signaling versions signal the invalid-operation <a href="/wiki/IEEE_754#Exception_handling" title="IEEE 754">exception</a> for such comparisons (i.e., by default, this just sets the corresponding status flag in addition to the behavior of the non-signaling versions). The equality and inequality predicates are non-signaling. The other standard comparison predicates associated with the above mathematical symbols are all signaling if they receive a NaN operand. The standard also provides non-signaling versions of these other predicates. The predicate <code>isNaN(<i>x</i>)</code> determines whether a value is a NaN and never signals an exception, even if <i>x</i> is a signaling NaN. </p><p>The <a href="/wiki/IEEE_754" title="IEEE 754">IEEE floating-point</a> standard requires that <i>NaN ≠ NaN</i> hold. In contrast, the 2022 <a href="/wiki/Technical_standard" title="Technical standard">private standard</a> of <a href="/wiki/Posit_(number_format)" class="mw-redirect" title="Posit (number format)">posit</a> arithmetic has a similar concept, NaR (Not a Real), where <i>NaR = NaR</i> holds.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Operations_generating_NaN">Operations generating NaN</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=3" title="Edit section: Operations generating NaN"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There are three kinds of operations that can return NaN:<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li>Most operations with at least one NaN operand.</li> <li><a href="/wiki/Indeterminate_form" title="Indeterminate form">Indeterminate forms</a>: <ul><li>The divisions <span class="texhtml">(±0) / (±0)</span> and <span class="texhtml">(±∞) / (±∞)</span>.</li> <li>The multiplications <span class="texhtml">(±0) × (±∞)</span> and <span class="texhtml">(±∞) × (±0)</span>.</li> <li>Remainder <span class="texhtml"><i>x</i>&#160;% <i>y</i></span> when <span class="texhtml"><i>x</i></span> is an infinity or <span class="texhtml"><i>y</i></span> is zero.</li> <li>The additions <span class="texhtml">(+∞) + (&#8722;∞)</span>, <span class="texhtml">(&#8722;∞) + (+∞)</span> and equivalent subtractions <span class="texhtml">(+∞) &#8722; (+∞)</span> and <span class="texhtml">(&#8722;∞) &#8722; (&#8722;∞)</span>.</li> <li>The standard has alternative functions for powers: <ul><li>The standard <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">pow</code> function and the integer exponent <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">pown</code> function define <span class="texhtml"><a href="/wiki/Zero_to_the_power_of_zero" title="Zero to the power of zero">0<sup>0</sup></a></span>, <span class="texhtml">1<sup>∞</sup></span>, and <span class="texhtml">∞<sup>0</sup></span> as <span class="texhtml">1</span>.</li> <li>The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">powr</code> function defines all three indeterminate forms as invalid operations and so returns NaN.</li></ul></li></ul></li> <li>Real operations with <a href="/wiki/Complex_number" title="Complex number">complex</a> results, for example: <ul><li>The square root of a negative number.</li> <li>The <a href="/wiki/Logarithm" title="Logarithm">logarithm</a> of a negative number.</li> <li>The <a href="/wiki/Inverse_trigonometric_functions" title="Inverse trigonometric functions">inverse sine or inverse cosine</a> of a number that is less than −1 or greater than 1.</li></ul></li></ul> <p>NaNs may also be explicitly assigned to variables, typically as a representation for missing values. Prior to the IEEE standard, programmers often used a special value (such as −99999999) to represent undefined or missing values, but there was no guarantee that they would be handled consistently or correctly.<sup id="cite_ref-idl_2-1" class="reference"><a href="#cite_note-idl-2"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> </p><p>NaNs are not necessarily generated in all the above cases. If an operation can produce an exception condition and traps are not masked then the operation will cause a trap instead.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> If an operand is a quiet NaN, and there is also no signaling NaN operand, then there is no exception condition and the result is a quiet NaN. Explicit assignments will not cause an exception even for signaling NaNs. </p> <div class="mw-heading mw-heading3"><h3 id="Quiet_NaN">Quiet NaN</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=4" title="Edit section: Quiet NaN"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In general, quiet NaNs, or qNaNs, do not raise any additional exceptions, as they propagate through most operations. But the invalid-operation <a href="/wiki/IEEE_754#Exception_handling" title="IEEE 754">exception</a> is signaled by some operations that do not return a floating-point value, such as format conversions or certain comparison operations. </p> <div class="mw-heading mw-heading3"><h3 id="Signaling_NaN">Signaling NaN</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=5" title="Edit section: Signaling NaN"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Signaling NaNs, or sNaNs, are special forms of a NaN that, when consumed by most operations, should raise the invalid operation exception and then, if appropriate, be "quieted" into a qNaN that may then propagate. They were introduced in <a href="/wiki/IEEE_754" title="IEEE 754">IEEE 754</a>. There have been several ideas for how these might be used: </p> <ul><li>Filling uninitialized memory with signaling NaNs would produce the invalid operation exception if the data is used before it is initialized</li> <li>Using an sNaN as a placeholder for a more complicated <a href="/wiki/Object_(computer_science)" title="Object (computer science)">object</a>, such as: <ul><li>A representation of a number that has <a href="/wiki/Arithmetic_underflow" title="Arithmetic underflow">underflowed</a></li> <li>A representation of a number that has <a href="/wiki/Arithmetic_overflow" class="mw-redirect" title="Arithmetic overflow">overflowed</a></li> <li>Number in a higher precision format</li> <li>A <a href="/wiki/Complex_number" title="Complex number">complex number</a></li></ul></li></ul> <p>When encountered, a trap handler could decode the sNaN and return an index to the computed result. In practice, this approach is faced with many complications. The treatment of the <a href="/wiki/Sign_bit" title="Sign bit">sign bit</a> of NaNs for some simple operations (such as <a href="/wiki/Absolute_value" title="Absolute value">absolute value</a>) is different from that for arithmetic operations. Traps are not required by the standard.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (September 2024)">citation needed</span></a></i>&#93;</sup> </p> <div class="mw-heading mw-heading3"><h3 id="Payload_operations">Payload operations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=6" title="Edit section: Payload operations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>IEEE 754-2019 recommends the operations <i>getPayload</i>, <i>setPayload</i>, and <i>setPayloadSignaling</i> be implemented,<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> standardizing the access to payloads to streamline application use.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> According to the IEEE 754-2019 background document, this recommendation should be interpreted as "required for new implementations, with reservation for backward compatibility".<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Encoding">Encoding</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=7" title="Edit section: Encoding"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In <a href="/wiki/IEEE_754" title="IEEE 754">IEEE&#160;754</a> interchange formats, NaNs are identified by specific, pre-defined bit patterns unique to NaNs. The sign bit does not matter. Binary format NaNs are represented with the exponential field filled with ones (like infinity values), and some non-zero number in the significand field (to make them distinct from infinity values). The original IEEE&#160;754 standard from 1985 (<a href="/wiki/IEEE_754-1985" title="IEEE 754-1985">IEEE&#160;754-1985</a>) only described binary floating-point formats, and did not specify how the signaling/quiet state was to be tagged. In practice, the most significant bit of the significand field determined whether a NaN is signaling or quiet. Two different implementations, with reversed meanings, resulted: </p> <ul><li>most processors (including those of the <a href="/wiki/Intel" title="Intel">Intel</a> and <a href="/wiki/AMD" title="AMD">AMD</a>'s <a href="/wiki/X86" title="X86">x86</a> family, the <a href="/wiki/Motorola_68000_series" title="Motorola 68000 series">Motorola 68000 family</a>, the <a href="/wiki/AIM_alliance" title="AIM alliance">AIM</a> <a href="/wiki/PowerPC" title="PowerPC">PowerPC</a> family, the <a href="/wiki/ARM_architecture" class="mw-redirect" title="ARM architecture">ARM</a> family, the <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun</a> <a href="/wiki/SPARC" title="SPARC">SPARC</a> family, and optionally new <a href="/wiki/MIPS_architecture" title="MIPS architecture">MIPS</a> processors) set the signaling/quiet bit to non-zero if the NaN is quiet, and to zero if the NaN is signaling. Thus, on these processors, the bit represents an <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">is_quiet</code> flag;</li> <li>in NaNs generated by the <a href="/wiki/PA-RISC" title="PA-RISC">PA-RISC</a> and old MIPS processors, the signaling/quiet bit is zero if the NaN is quiet, and non-zero if the NaN is signaling. Thus, on these processors, the bit represents an <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">is_signaling</code> flag.</li></ul> <p>The former choice has been preferred as it allows the implementation to quiet a signaling NaN by just setting the signaling/quiet bit to 1. The reverse is not possible with the latter choice because setting the signaling/quiet bit to 0 could yield an infinity.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> </p><p>The <a href="/wiki/IEEE_754-2008_revision" title="IEEE 754-2008 revision">2008</a> and 2019 revisions of the IEEE&#160;754 standard make formal requirements and recommendations for the encoding of the signaling/quiet state. </p> <ul><li>For binary interchange formats, the most significant bit of the significand field is exclusively used to distinguish between quiet and signaling NaNs.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> (This requirement has been added in the 2019 revision.) Moreover, it should be an <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">is_quiet</code> flag.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> That is, this bit is non-zero if the NaN is quiet, and zero if the NaN is signaling.</li> <li>For decimal interchange formats, whether binary or decimal encoded, a NaN is identified by having the top five bits of the combination field after the sign bit set to ones. The sixth bit of the field is the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">is_signaling</code> flag. That is, this bit is zero if the NaN is quiet, and non-zero if the NaN is signaling.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>For IEEE&#160;754-2008 conformance, the meaning of the signaling/quiet bit in recent MIPS processors is now configurable via the NAN2008 field of the FCSR register. This support is optional in MIPS Release&#160;3 and required in Release&#160;5.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> </p><p>The state/value of the remaining bits of the significand field are not defined by the standard. This value is called the 'payload' of the NaN. If an operation has a single NaN input and propagates it to the output, the result NaN's payload should be that of the input NaN (this is not always possible for binary formats when the signaling/quiet state is encoded by an <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">is_signaling</code> flag, as explained above). If there are multiple NaN inputs, the result NaN's payload should be from one of the input NaNs; the standard does not specify which. </p> <div class="mw-heading mw-heading3"><h3 id="Canonical_NaN">Canonical NaN</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=8" title="Edit section: Canonical NaN"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-Confusing plainlinks metadata ambox ambox-style ambox-confusing" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/40px-Edit-clear.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/60px-Edit-clear.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/80px-Edit-clear.svg.png 2x" data-file-width="48" data-file-height="48" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This section <b>may be <a href="/wiki/Wikipedia:Vagueness" title="Wikipedia:Vagueness">confusing or unclear</a> to readers</b>. In particular, IEEE 754 already uses "canonical NaN" with the meaning of "canonical encoding of a NaN" (e.g. "isCanonical(x) is true if and only if x is a finite number, infinity, or NaN that is canonical." page 38, but also for totalOrder page 42), thus a different meaning from what is used here.<span class="hide-when-compact"> Please help <a href="/wiki/Wikipedia:Please_clarify" title="Wikipedia:Please clarify">clarify the section</a>. There might be a discussion about this on <a href="/wiki/Talk:NaN" title="Talk:NaN">the talk page</a>.</span> <span class="date-container"><i>(<span class="date">February 2024</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <p>A number of systems have the concept of a "canonical NaN", where one specific NaN value is chosen to be the only possible qNaN generated by floating-point operations not having a NaN input. The value is usually chosen to be a quiet NaN with an all-zero payload and an arbitrarily-defined sign bit. </p> <ul><li>On RISC-V, most floating-point operations only ever generate the canonical NaN, even if a NaN is given as the operand (the payload is not propagated).<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>b<span class="cite-bracket">&#93;</span></a></sup> ARM can enable a "default NaN" mode for this behavior.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup> WebAssembly has the same behavior, though it allows two canonical values.<sup id="cite_ref-wasm_23-0" class="reference"><a href="#cite_note-wasm-23"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup></li> <li>A number of languages do not distinguish among different NaN values, without requiring their implementations to force a certain NaN value. ECMAScript (JavaScript) treats all NaN as if they are the same value.<sup id="cite_ref-wasm_23-1" class="reference"><a href="#cite_note-wasm-23"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> Java has the same treatment "for the most part".<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>Using a limited amount of NaN representations allows the system to use other possible NaN values for non-arithmetic purposes, the most important being "NaN-boxing", i.e. using the payload for arbitrary data.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> (This concept of "canonical NaN" is not the same as the concept of a "canonical encoding" in IEEE 754.) </p> <div class="mw-heading mw-heading2"><h2 id="Function_definition">Function definition</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=9" title="Edit section: Function definition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There are differences of opinion about the proper definition for the result of a numeric <a href="/wiki/Subroutine" class="mw-redirect" title="Subroutine">function</a> that receives a quiet NaN as input. One view is that the NaN should propagate to the output of the function in all cases to propagate the indication of an error. Another view, and the one taken by the <a href="/wiki/C99" title="C99">ISO&#160;C99</a> and <a href="/wiki/IEEE_754-2008_revision" title="IEEE 754-2008 revision">IEEE&#160;754-2008</a> standards in general, is that if the function has multiple arguments and the output is uniquely determined by all the non-NaN inputs (including infinity), then that value should be the result. Thus for example the value returned by <code class="nowrap mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">hypot(±∞, qNaN)</code> and <code class="nowrap mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">hypot(qNaN, ±∞)</code> is +∞. </p><p>The problem is particularly acute for the <a href="/wiki/Exponentiation" title="Exponentiation">exponentiation</a> function <span class="nowrap"><code>pow(<i>x</i>, <i>y</i>)</code> = <i>x</i><sup><i>y</i></sup>.</span> The expressions 0<sup>0</sup>, ∞<sup>0</sup> and 1<sup>∞</sup> are considered <a href="/wiki/Indeterminate_form" title="Indeterminate form">indeterminate forms</a> when they occur as limits (just like ∞&#160;×&#160;0), and the question of whether <a href="/wiki/Zero_to_the_power_of_zero" title="Zero to the power of zero">zero to the zero power</a> should be defined as 1 has divided opinion. </p><p>If the output is considered as undefined when a parameter is undefined, then <code class="nowrap mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">pow(1, qNaN)</code> should produce a qNaN. However, <a href="/wiki/C_mathematical_functions" title="C mathematical functions">math libraries</a> have typically returned 1 for <span class="nowrap"><code>pow(1, <i>y</i>)</code></span> for any <a href="/wiki/Real_number" title="Real number">real number</a> <i>y</i>, and even when <i>y</i> is an <a href="/wiki/Extended_real_number_line" title="Extended real number line">infinity</a>. Similarly, they produce 1 for <span class="nowrap"><code>pow(<i>x</i>, 0)</code></span> even when <i>x</i> is 0 or an infinity. <span class="citation-needed-content" style="padding-left:0.1em; padding-right:0.1em; color:var(--color-subtle, #54595d); border:1px solid var(--border-color-subtle, #c8ccd1);">The rationale for returning the value 1 for the indeterminate forms was that the value of functions at singular points can be taken as a particular value if that value is in the limit the value<sup class="noprint Inline-Template" style="margin-left:0.1em; white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Please_clarify" title="Wikipedia:Please clarify"><span title="The text near this tag may need clarification or removal of jargon. (October 2011)">clarification needed</span></a></i>&#93;</sup> for all but a vanishingly small part of a ball around the limit value of the parameters.</span><sup class="noprint Inline-Template Template-Fact" style="margin-left:0.1em; white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (December 2021)">citation needed</span></a></i>&#93;</sup> The 2008 version of the <a href="/wiki/IEEE_754" title="IEEE 754">IEEE&#160;754</a> standard says that <code class="nowrap mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">pow(1, qNaN)</code> and <code class="nowrap mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">pow(qNaN, 0)</code> should both return 1 since they return 1 whatever else is used instead of quiet NaN. Moreover, ISO&#160;C99, and later IEEE&#160;754-2008, chose to specify <span class="nowrap"><code>pow(−1, ±∞)</code> = 1</span> instead of qNaN; the reason of this choice is given in the C rationale:<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup> "Generally, C99 eschews a NaN result where a numerical value is useful. ... The result of <code class="nowrap mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">pow(−2, ∞)</code> is +∞, because all large positive floating-point values are even integers." </p><p>To satisfy those wishing a more strict interpretation of how the power function should act, the 2008 standard defines two additional power functions: <span class="nowrap"><code>pown(<i>x</i>, <i>n</i>)</code>,</span> where the exponent must be an integer, and <span class="nowrap"><code>powr(<i>x</i>, <i>y</i>)</code>,</span> which returns a NaN whenever a parameter is a NaN or the exponentiation would give an <a href="/wiki/Indeterminate_form" title="Indeterminate form">indeterminate form</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Integer_NaN">Integer NaN</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=10" title="Edit section: Integer NaN"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Most fixed-size <a href="/wiki/Integer" title="Integer">integer</a> formats cannot explicitly indicate invalid data. In such a case, when converting NaN to an integer type, the <a href="/wiki/IEEE_754" title="IEEE 754">IEEE&#160;754</a> standard requires that the invalid-operation <a href="/wiki/IEEE_754#Exception_handling" title="IEEE 754">exception</a> be signaled. For example in <a href="/wiki/Java_programming_language" class="mw-redirect" title="Java programming language">Java</a>, such operations throw instances of <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">java.lang.ArithmeticException</code>.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> In <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a>, they lead to <a href="/wiki/Undefined_behavior" title="Undefined behavior">undefined behavior</a>, but if annex&#160;F is supported, the operation yields an "invalid" floating-point exception (as required by the IEEE standard) and an unspecified value. </p><p><a href="/wiki/Perl" title="Perl">Perl</a>'s <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">Math::BigInt</code> package uses "NaN" for the result of strings that do not represent valid integers.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-highlight mw-highlight-lang-console mw-content-ltr" dir="ltr"><pre><span></span><span class="go">&gt; perl -mMath::BigInt -e &quot;print Math::BigInt-&gt;new(&#39;foo&#39;)&quot;</span> <span class="go">NaN</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Display">Display</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=11" title="Edit section: Display"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Different operating systems and programming languages may have different string representations of NaN. </p> <pre>nan (C, C++, Python) NaN (ECMAScript, Rust, C#, Julia). <small>Julia may show alternative NaN, depending on precision, NaN32, and NaN16; NaN is for Float64 type.</small> NaN% NAN (C, C++, Rust) NaNQ (IBM XL and AIX: Fortran, C++ proposal n2290) NaNS (ditto) qNaN sNaN 1.#SNAN (Excel) 1.#QNAN (Excel) -1.#IND (Excel) +nan.0 (Scheme) </pre> <p>Since, in practice, encoded NaNs have a sign, a quiet/signaling bit and optional 'diagnostic information' (sometimes called a <i>payload</i>), these will occasionally be found in string representations of NaNs, too. Some examples are: </p> <ul><li>For the C and C++ languages, the sign bit is always shown by the standard-library functions (e.g. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">-nan</code>) when present. There is no standard display of the payload nor of the signaling status, but a quiet NaN value of a specific payload may either be constructed by providing the string <code>nan(<i>char-sequence</i>)</code> to a number-parsing function (e.g. <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">strtod</code>) or by providing the <i>char-sequence</i> string to <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">nan()</code> (or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">nans()</code> for sNaN), both interpreted in an implementation-defined manner. <ul><li><a href="/wiki/GNU_C_Compiler" class="mw-redirect" title="GNU C Compiler">GCC</a> and <a href="/wiki/LLVM" title="LLVM">LLVM</a> provides built-in implementations of <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">nan()</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">nans()</code>. They parse the <i>char-sequence</i> as an integer for <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">strtoull</code> (or a differently-sized equivalent) with its detection of integer bases.</li> <li>The <a href="/wiki/GNU_C_Library" class="mw-redirect" title="GNU C Library">GNU C Library</a>'s float-parser uses the <i>char-sequence</i> string in "some unspecified fashion".<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup> In practice, this parsing has been equivalent to GCC/LLVM's for up to 64 bits of payload.</li> <li><a href="/wiki/Newlib" title="Newlib">Newlib</a> does not implement <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">nan()</code> parsing, but <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">strtod()</code> accepts a hexadecimal format without prefix.</li> <li><a href="/wiki/Musl" title="Musl">musl</a> does not implement any payload parsing.</li></ul></li></ul> <p>Not all languages admit the existence of multiple NaNs. For example, ECMAScript only uses one NaN value throughout. </p> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=12" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Notes">Notes</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=13" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-lower-alpha"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">0/0 is undefined as a number in both the <a href="/wiki/Real_number" title="Real number">real number</a> and <a href="/wiki/Extended_real_number" class="mw-redirect" title="Extended real number">extended real number</a> systems, while 1/±0, for example, could be consistently assigned a value of ±∞ in the latter system, assuming a <a href="/wiki/Signed_zero" title="Signed zero">signed zero</a>.</span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text">IEEE 754-2008 recommends, but does not require, propagation of the NaN payload. Most processors choose to obey this recommendation, but do not by themselves generate a non-zero payload.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup> The RISC-V behavior is thus non-recommended but compliant.</span> </li> </ol></div></div> <div class="mw-heading mw-heading3"><h3 id="Citations">Citations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=14" title="Edit section: Citations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239543626"><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-idl-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-idl_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-idl_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFBowman2006" class="citation book cs1">Bowman, Kenneth (2006). <span class="id-lock-limited" title="Free access subject to limited trial, subscription normally required"><a rel="nofollow" class="external text" href="https://archive.org/details/introductiontopr00bowm"><i>An Introduction to Programming with IDL: Interactive Data Language</i></a></span>. Academic Press. p.&#160;<a rel="nofollow" class="external text" href="https://archive.org/details/introductiontopr00bowm/page/n26">26</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-12-088559-6" title="Special:BookSources/978-0-12-088559-6"><bdi>978-0-12-088559-6</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=An+Introduction+to+Programming+with+IDL%3A+Interactive+Data+Language&amp;rft.pages=26&amp;rft.pub=Academic+Press&amp;rft.date=2006&amp;rft.isbn=978-0-12-088559-6&amp;rft.aulast=Bowman&amp;rft.aufirst=Kenneth&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fintroductiontopr00bowm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPressTeukolskyVetterlingFlannery2007" class="citation book cs1">Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007). <span class="id-lock-limited" title="Free access subject to limited trial, subscription normally required"><a rel="nofollow" class="external text" href="https://archive.org/details/numericalrecipes00pres_033"><i>Numerical Recipes: The Art of Scientific Computing</i></a></span>. Cambridge University Press. p.&#160;<a rel="nofollow" class="external text" href="https://archive.org/details/numericalrecipes00pres_033/page/n57">34</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-521-88068-8" title="Special:BookSources/978-0-521-88068-8"><bdi>978-0-521-88068-8</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Numerical+Recipes%3A+The+Art+of+Scientific+Computing&amp;rft.pages=34&amp;rft.pub=Cambridge+University+Press&amp;rft.date=2007&amp;rft.isbn=978-0-521-88068-8&amp;rft.aulast=Press&amp;rft.aufirst=William+H.&amp;rft.au=Teukolsky%2C+Saul+A.&amp;rft.au=Vetterling%2C+William+T.&amp;rft.au=Flannery%2C+Brian+P.&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fnumericalrecipes00pres_033&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-LectureNotes-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-LectureNotes_4-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWilliam_Kahan1997" class="citation web cs1">William Kahan (1 October 1997). <a rel="nofollow" class="external text" href="http://www.cs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF">"Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic"</a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Lecture+Notes+on+the+Status+of+IEEE+Standard+754+for+Binary+Floating-Point+Arithmetic&amp;rft.date=1997-10-01&amp;rft.au=William+Kahan&amp;rft_id=http%3A%2F%2Fwww.cs.berkeley.edu%2F~wkahan%2Fieee754status%2FIEEE754.PDF&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDavid_H.C._Chen2017" class="citation web cs1">David H.C. Chen (21 February 2017). <a rel="nofollow" class="external text" href="https://grouper.ieee.org/groups/msc/ANSI_IEEE-Std-754-2019/background/minNum_maxNum_Removal_Demotion_v3.pdf">"The Removal/Demotion of MinNum and MaxNum Operations from IEEE 754-2018"</a> <span class="cs1-format">(PDF)</span><span class="reference-accessdate">. Retrieved <span class="nowrap">6 May</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=The+Removal%2FDemotion+of+MinNum+and+MaxNum+Operations+from+IEEE+754-2018&amp;rft.date=2017-02-21&amp;rft.au=David+H.C.+Chen&amp;rft_id=https%3A%2F%2Fgrouper.ieee.org%2Fgroups%2Fmsc%2FANSI_IEEE-Std-754-2019%2Fbackground%2FminNum_maxNum_Removal_Demotion_v3.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://754r.ucbtest.org/minutes/2017-05-19-minutes.txt">"754R Minutes"</a>. 19 May 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">25 June</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=754R+Minutes&amp;rft.date=2017-05-19&amp;rft_id=http%3A%2F%2F754r.ucbtest.org%2Fminutes%2F2017-05-19-minutes.txt&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><a href="#CITEREFIEEE_7542019">IEEE 754 2019</a>, §5.11</span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://posithub.org/docs/posit_standard-2.pdf">Standard for Posit Arithmetic (2022)</a></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDavid_Goldberg1991" class="citation web cs1">David Goldberg (1991). <a rel="nofollow" class="external text" href="http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.2736">"What Every Computer Scientist Should Know About Floating-Point"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=What+Every+Computer+Scientist+Should+Know+About+Floating-Point&amp;rft.date=1991&amp;rft.au=David+Goldberg&amp;rft_id=http%3A%2F%2Fciteseer.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.39.2736&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.intel.com/products/processor/manuals/index.htm">"Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture"</a>. April 2008. pp.&#160;118–125, 266–267, 334–335.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel+64+and+IA-32+Architectures+Software+Developer%27s+Manual+Volume+1%3A+Basic+Architecture&amp;rft.pages=118-125%2C+266-267%2C+334-335&amp;rft.date=2008-04&amp;rft_id=http%3A%2F%2Fwww.intel.com%2Fproducts%2Fprocessor%2Fmanuals%2Findex.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><a href="#CITEREFIEEE_7542019">IEEE 754 2019</a>, §9.7</span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://grouper.ieee.org/groups/msc/ANSI_IEEE-Std-754-2019/background/payload-functions.txt">"Background discussion for the new Payload functions"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Background+discussion+for+the+new+Payload+functions&amp;rft_id=https%3A%2F%2Fgrouper.ieee.org%2Fgroups%2Fmsc%2FANSI_IEEE-Std-754-2019%2Fbackground%2Fpayload-functions.txt&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://grouper.ieee.org/groups/msc/ANSI_IEEE-Std-754-2019/background/ieee-computer.pdf">"IEEE Standard for Floating-Point Arithmetic revision due in 2019"</a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=IEEE+Standard+for+Floating-Point+Arithmetic+revision+due+in+2019&amp;rft_id=https%3A%2F%2Fgrouper.ieee.org%2Fgroups%2Fmsc%2FANSI_IEEE-Std-754-2019%2Fbackground%2Fieee-computer.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://grouper.ieee.org/groups/1788/email/msg03272.html">"Re: (long) sNaNs not what they could be..."</a> <i><a href="/wiki/IEEE" class="mw-redirect" title="IEEE">IEEE</a></i>. 15 October 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">5 November</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=IEEE&amp;rft.atitle=Re%3A+%28long%29+sNaNs+not+what+they+could+be...&amp;rft.date=2010-10-15&amp;rft_id=https%3A%2F%2Fgrouper.ieee.org%2Fgroups%2F1788%2Femail%2Fmsg03272.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><a href="#CITEREFIEEE_7542019">IEEE 754 2019</a>, §3.4</span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><a href="#CITEREFIEEE_7542019">IEEE 754 2019</a>, §6.2.1</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><a href="#CITEREFIEEE_7542019">IEEE 754 2019</a>, §3.5.2</span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://cdn2.imgtec.com/documentation/MD00083-2B-MIPS64INT-AFP-05.04.pdf">"MIPS Architecture For Programmers – Volume I-A: Introduction to the MIPS64 Architecture"</a> <span class="cs1-format">(PDF)</span>. MIPS Technologies, Inc. 20 November 2013. p.&#160;79<span class="reference-accessdate">. Retrieved <span class="nowrap">27 September</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=MIPS+Architecture+For+Programmers+%E2%80%93+Volume+I-A%3A+Introduction+to+the+MIPS64+Architecture&amp;rft.pages=79&amp;rft.pub=MIPS+Technologies%2C+Inc.&amp;rft.date=2013-11-20&amp;rft_id=http%3A%2F%2Fcdn2.imgtec.com%2Fdocumentation%2FMD00083-2B-MIPS64INT-AFP-05.04.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFEmbeddev" class="citation web cs1">Embeddev, Five. <a rel="nofollow" class="external text" href="https://five-embeddev.com/riscv-isa-manual/latest/f.html#sec:single-float">"<span class="cs1-kern-left"></span>"F" Standard Extension for Single-Precision Floating-Point, Version 2.2 / RISC-V Instruction Set Manual, Volume I: RISC-V User-Level ISA"</a>. <i>Five EmbedDev</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Five+EmbedDev&amp;rft.atitle=%22F%22+Standard+Extension+for+Single-Precision+Floating-Point%2C+Version+2.2+%2F+RISC-V+Instruction+Set+Manual%2C+Volume+I%3A+RISC-V+User-Level+ISA&amp;rft.aulast=Embeddev&amp;rft.aufirst=Five&amp;rft_id=https%3A%2F%2Ffive-embeddev.com%2Friscv-isa-manual%2Flatest%2Ff.html%23sec%3Asingle-float&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1126788409"><div class="plainlist" style="display:inline-flex;--size:100%; max-width:max(15em, calc(var(--size) - 3.2em));"><ul style="display:inline-block"><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFog2018" class="citation web cs1">Fog, Agner (11 April 2018). <a rel="nofollow" class="external text" href="https://grouper.ieee.org/groups/msc/ANSI_IEEE-Std-754-2019/background/nan-propagation.pdf">"NaN payload propagation - unresolved issues"</a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=NaN+payload+propagation+-+unresolved+issues&amp;rft.date=2018-04-11&amp;rft.aulast=Fog&amp;rft.aufirst=Agner&amp;rft_id=https%3A%2F%2Fgrouper.ieee.org%2Fgroups%2Fmsc%2FANSI_IEEE-Std-754-2019%2Fbackground%2Fnan-propagation.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></li><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFog_Agner2020" class="citation web cs1">Fog Agner (27 April 2020). <a rel="nofollow" class="external text" href="https://www.agner.org/optimize/nan_propagation.pdf">"Floating point exception tracking and NAN propagation"</a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Floating+point+exception+tracking+and+NAN+propagation&amp;rft.date=2020-04-27&amp;rft.au=Fog+Agner&amp;rft_id=https%3A%2F%2Fwww.agner.org%2Foptimize%2Fnan_propagation.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></li></ul></div></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developer.arm.com/documentation/ddi0406/c/Application-Level-Architecture/Application-Level-Programmers--Model/Floating-point-data-types-and-arithmetic/NaN-handling-and-the-Default-NaN">"NaN handling and the Default NaN (ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition)"</a>. <i>Documentation – Arm Developer</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Documentation+%E2%80%93+Arm+Developer&amp;rft.atitle=NaN+handling+and+the+Default+NaN+%28ARM+Architecture+Reference+Manual+ARMv7-A+and+ARMv7-R+edition%29&amp;rft_id=https%3A%2F%2Fdeveloper.arm.com%2Fdocumentation%2Fddi0406%2Fc%2FApplication-Level-Architecture%2FApplication-Level-Programmers--Model%2FFloating-point-data-types-and-arithmetic%2FNaN-handling-and-the-Default-NaN&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-wasm-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-wasm_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-wasm_23-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/WebAssembly/design/issues/1463">"What is the motivation for 'NaN' canonicalization? · Issue #1463 · WebAssembly/design"</a>. <i>GitHub</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=GitHub&amp;rft.atitle=What+is+the+motivation+for+%27NaN%27+canonicalization%3F+%C2%B7+Issue+%231463+%C2%B7+WebAssembly%2Fdesign&amp;rft_id=https%3A%2F%2Fgithub.com%2FWebAssembly%2Fdesign%2Fissues%2F1463&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span> &#8211; see response by Dan Gohman "sunfishcode"</span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.2.3">"Chapter 4. Types, Values, and Variables"</a>. <i>docs.oracle.com</i>. <q>For the most part, the Java SE platform treats NaN values of a given type as though collapsed into a single canonical value, and hence this specification normally refers to an arbitrary NaN as though to a canonical value.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=docs.oracle.com&amp;rft.atitle=Chapter+4.+Types%2C+Values%2C+and+Variables&amp;rft_id=https%3A%2F%2Fdocs.oracle.com%2Fjavase%2Fspecs%2Fjls%2Fse8%2Fhtml%2Fjls-4.html%23jls-4.2.3&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFNystrom2021" class="citation book cs1">Nystrom, Robert (28 July 2021). "&#167; 30.3 NaN Boxing". <a rel="nofollow" class="external text" href="https://craftinginterpreters.com/optimization.html#nan-boxing"><i>Crafting Interpreters</i></a>. Genever Benning. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-9905829-3-9" title="Special:BookSources/978-0-9905829-3-9"><bdi>978-0-9905829-3-9</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=%26sect%3B+30.3+NaN+Boxing&amp;rft.btitle=Crafting+Interpreters&amp;rft.pub=Genever+Benning&amp;rft.date=2021-07-28&amp;rft.isbn=978-0-9905829-3-9&amp;rft.aulast=Nystrom&amp;rft.aufirst=Robert&amp;rft_id=https%3A%2F%2Fcraftinginterpreters.com%2Foptimization.html%23nan-boxing&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf">"Rationale for International Standard—Programming Languages—C, Revision 5.10"</a> <span class="cs1-format">(PDF)</span>. April 2003. p.&#160;180.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Rationale+for+International+Standard%E2%80%94Programming+Languages%E2%80%94C%2C+Revision+5.10&amp;rft.pages=180&amp;rft.date=2003-04&amp;rft_id=https%3A%2F%2Fwww.open-std.org%2Fjtc1%2Fsc22%2Fwg14%2Fwww%2FC99RationaleV5.10.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/8/docs/api/java/lang/ArithmeticException.html">"ArithmeticException (Java Platform SE&#160;8)"</a>. <i>docs.oracle.com</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=docs.oracle.com&amp;rft.atitle=ArithmeticException+%28Java+Platform+SE+8%29&amp;rft_id=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F8%2Fdocs%2Fapi%2Fjava%2Flang%2FArithmeticException.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://perldoc.perl.org/Math/BigInt.html#Input">"<code>Math::BigInt</code>"</a>. <i>perldoc.perl.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">12 June</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=perldoc.perl.org&amp;rft.atitle=%3Ccode%3EMath%3A%3ABigInt%3C%2Fcode%3E&amp;rft_id=http%3A%2F%2Fperldoc.perl.org%2FMath%2FBigInt.html%23Input&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.gnu.org/software/libc/manual/html_node/Parsing-of-Floats.html">"Parsing of Floats (The GNU C Library)"</a>. <i>www.gnu.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 September</span> 2021</span>. <q>If <i>chars…</i> are provided, they are used in some unspecified fashion to select a particular representation of NaN (there can be several).</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=www.gnu.org&amp;rft.atitle=Parsing+of+Floats+%28The+GNU+C+Library%29&amp;rft_id=https%3A%2F%2Fwww.gnu.org%2Fsoftware%2Flibc%2Fmanual%2Fhtml_node%2FParsing-of-Floats.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading3"><h3 id="Standards">Standards</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=15" title="Edit section: Standards"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFIEEE_7542008" class="citation book cs1">IEEE Computer Society (29 August 2008). <i>IEEE Standard for Floating-Point Arithmetic</i>. IEEE. pp.&#160;1–70. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FIEEESTD.2008.4610935">10.1109/IEEESTD.2008.4610935</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-7381-5753-5" title="Special:BookSources/978-0-7381-5753-5"><bdi>978-0-7381-5753-5</bdi></a>. IEEE Std 754-2008.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=IEEE+Standard+for+Floating-Point+Arithmetic&amp;rft.pages=1-70&amp;rft.pub=IEEE&amp;rft.date=2008-08-29&amp;rft_id=info%3Adoi%2F10.1109%2FIEEESTD.2008.4610935&amp;rft.isbn=978-0-7381-5753-5&amp;rft.au=IEEE+Computer+Society&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFIEEE_7542019" class="citation book cs1">IEEE Computer Society (22 July 2019). <i>IEEE Standard for Floating-Point Arithmetic</i>. IEEE. pp.&#160;1–84. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FIEEESTD.2019.8766229">10.1109/IEEESTD.2019.8766229</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-5044-5924-2" title="Special:BookSources/978-1-5044-5924-2"><bdi>978-1-5044-5924-2</bdi></a>. IEEE Std 754-2019.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=IEEE+Standard+for+Floating-Point+Arithmetic&amp;rft.pages=1-84&amp;rft.pub=IEEE&amp;rft.date=2019-07-22&amp;rft_id=info%3Adoi%2F10.1109%2FIEEESTD.2019.8766229&amp;rft.isbn=978-1-5044-5924-2&amp;rft.au=IEEE+Computer+Society&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ANaN" class="Z3988"></span></li></ul> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=NaN&amp;action=edit&amp;section=16" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="http://foldoc.org/Not-a-Number">Not a Number</a>, foldoc.org</li> <li><a rel="nofollow" class="external text" href="https://ieeexplore.ieee.org/document/4610935">IEEE 754-2008 Standard for Floating-Point Arithmetic</a> <span style="font-size:0.95em; font-size:95%; color: var( --color-subtle, #555 )">(subscription required)</span></li> <li><a rel="nofollow" class="external text" href="https://ieeexplore.ieee.org/document/8766229">IEEE 754-2019 Standard for Floating-Point Arithmetic</a> <span style="font-size:0.95em; font-size:95%; color: var( --color-subtle, #555 )">(subscription required)</span></li></ul> <p class="mw-empty-elt"> </p> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐6b7f745dd4‐cffjd Cached time: 20241125134455 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.655 seconds Real time usage: 0.798 seconds Preprocessor visited node count: 3657/1000000 Post‐expand include size: 70147/2097152 bytes Template argument size: 7140/2097152 bytes Highest expansion depth: 18/100 Expensive parser function count: 35/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 98677/5000000 bytes Lua time usage: 0.420/10.000 seconds Lua memory usage: 9051892/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 719.276 1 -total 36.43% 261.998 2 Template:Reflist 18.10% 130.171 1 Template:Floating-point 17.63% 126.806 1 Template:Sidebar 15.70% 112.906 5 Template:Cite_book 11.91% 85.662 19 Template:Cite_web 11.53% 82.966 1 Template:Short_description 6.03% 43.353 2 Template:Pagetype 5.88% 42.310 5 Template:Harvnb 4.84% 34.799 1 Template:Confusing --> <!-- Saved in parser cache with key enwiki:pcache:idhash:49244-0!canonical and timestamp 20241125134455 and revision id 1258952740. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=NaN&amp;oldid=1258952740">https://en.wikipedia.org/w/index.php?title=NaN&amp;oldid=1258952740</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Computer_arithmetic" title="Category:Computer arithmetic">Computer arithmetic</a></li><li><a href="/wiki/Category:Software_anomalies" title="Category:Software anomalies">Software anomalies</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_September_2024" title="Category:Articles with unsourced statements from September 2024">Articles with unsourced statements from September 2024</a></li><li><a href="/wiki/Category:Wikipedia_articles_needing_clarification_from_February_2024" title="Category:Wikipedia articles needing clarification from February 2024">Wikipedia articles needing clarification from February 2024</a></li><li><a href="/wiki/Category:All_Wikipedia_articles_needing_clarification" title="Category:All Wikipedia articles needing clarification">All Wikipedia articles needing clarification</a></li><li><a href="/wiki/Category:Wikipedia_articles_needing_clarification_from_October_2011" title="Category:Wikipedia articles needing clarification from October 2011">Wikipedia articles needing clarification from October 2011</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_December_2021" title="Category:Articles with unsourced statements from December 2021">Articles with unsourced statements from December 2021</a></li><li><a href="/wiki/Category:Pages_containing_links_to_subscription-only_content" title="Category:Pages containing links to subscription-only content">Pages containing links to subscription-only content</a></li><li><a href="/wiki/Category:Use_dmy_dates_from_December_2020" title="Category:Use dmy dates from December 2020">Use dmy dates from December 2020</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 22 November 2024, at 15:11<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=NaN&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-688fc9465-pjwzx","wgBackendResponseTime":156,"wgPageParseReport":{"limitreport":{"cputime":"0.655","walltime":"0.798","ppvisitednodes":{"value":3657,"limit":1000000},"postexpandincludesize":{"value":70147,"limit":2097152},"templateargumentsize":{"value":7140,"limit":2097152},"expansiondepth":{"value":18,"limit":100},"expensivefunctioncount":{"value":35,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":98677,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 719.276 1 -total"," 36.43% 261.998 2 Template:Reflist"," 18.10% 130.171 1 Template:Floating-point"," 17.63% 126.806 1 Template:Sidebar"," 15.70% 112.906 5 Template:Cite_book"," 11.91% 85.662 19 Template:Cite_web"," 11.53% 82.966 1 Template:Short_description"," 6.03% 43.353 2 Template:Pagetype"," 5.88% 42.310 5 Template:Harvnb"," 4.84% 34.799 1 Template:Confusing"]},"scribunto":{"limitreport-timeusage":{"value":"0.420","limit":"10.000"},"limitreport-memusage":{"value":9051892,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFBowman2006\"] = 1,\n [\"CITEREFDavid_Goldberg1991\"] = 1,\n [\"CITEREFDavid_H.C._Chen2017\"] = 1,\n [\"CITEREFEmbeddev\"] = 1,\n [\"CITEREFFog2018\"] = 1,\n [\"CITEREFFog_Agner2020\"] = 1,\n [\"CITEREFIEEE_7542008\"] = 1,\n [\"CITEREFIEEE_7542019\"] = 1,\n [\"CITEREFNystrom2021\"] = 1,\n [\"CITEREFPressTeukolskyVetterlingFlannery2007\"] = 1,\n [\"CITEREFWilliam_Kahan1997\"] = 1,\n}\ntemplate_list = table#1 {\n [\"Block indent\"] = 1,\n [\"Citation needed span\"] = 1,\n [\"Cite book\"] = 5,\n [\"Cite web\"] = 19,\n [\"Clarify\"] = 1,\n [\"Cn\"] = 1,\n [\"Code\"] = 27,\n [\"Confusing\"] = 1,\n [\"DEFAULTSORT:Nan\"] = 1,\n [\"Efn\"] = 2,\n [\"Floating-point\"] = 1,\n [\"Harvnb\"] = 5,\n [\"IPAc-en\"] = 1,\n [\"Math\"] = 15,\n [\"Nobr\"] = 4,\n [\"Notelist\"] = 1,\n [\"Nowrap\"] = 6,\n [\"Other uses\"] = 1,\n [\"Reflist\"] = 1,\n [\"Short description\"] = 1,\n [\"Subscription required\"] = 2,\n [\"Unbulleted list citebundle\"] = 1,\n [\"Use dmy dates\"] = 1,\n}\narticle_whitelist = table#1 {\n}\n"},"cachereport":{"origin":"mw-web.codfw.main-6b7f745dd4-cffjd","timestamp":"20241125134455","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"NaN","url":"https:\/\/en.wikipedia.org\/wiki\/NaN","sameAs":"http:\/\/www.wikidata.org\/entity\/Q858684","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q858684","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2002-04-15T23:45:26Z","dateModified":"2024-11-22T15:11:06Z","headline":"value for unrepresentable data"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10