c語言 l l next,nexttowardl

在頭文件中定義float ? ? ? nextafterf( float from, float to );(1)(since C99)

double ? ? ?nextafter( double from, double to );(2)(since C99)

long double nextafterl( long double from, long double to );(3)(since C99)

float ? ? ? nexttowardf( float from, long double to );(4)(since C99)

double ? ? ?nexttoward( double from, long double to );(5)(since C99)

long double nexttowardl( long double from, long double to );(6)(since C99)

Defined in header

#define nextafter(from, to)(7)(since C99)

#define nexttoward(from, to)(8)(since C99)

1-3)首先,將兩個參數都轉換為函數的類型,然后返回下一個可表示值from的方向to。如果from等于to,to則返回。

4-6)首先,將第一個參數轉換為函數的類型,然后返回下一個可表示值from的方向to。如果from等于to,to則返回,轉換long double為函數的返回類型,但不會丟失范圍或精度。

7)類型 - 通用宏:如果任何參數具有類型long double,nextafterl則被調用。否則,如果任何參數具有整數類型或具有類型double,nextafter則被調用。否則,nextafterf被調用。

8)類型 - 通用宏:如果參數from具有類型long double,nexttowardl則被調用。否則,如果from有整數類型或類型double,nexttoward則調用。否則,nexttowardf被調用。

參數

from, to-浮點值

返回值

如果沒有錯誤發生,下一個可表示值from的方向to。返回。如果from等于to,則to返回,轉換為函數的類型。

如果范圍誤差由于發生溢出,±HUGE_VAL,±HUGE_VALF,或±HUGE_VALL被返回(與相同的符號from)。

如果由于下溢而發生范圍錯誤,則返回正確的結果。

錯誤處理

按照math_errhandling中的指定報告錯誤。

如果實現支持IEEE浮點運算(IEC 60559),

如果from是有限的,但預期的結果是無窮大,提高FE_INEXACT和FE_OVERFLOW

如果from不相等to,結果是低于正常或零,則引發FE_INEXACT和FE_UNDERFLOW

在任何情況下,返回值都與當前舍入模式無關

如果是from或者to是NaN,則返回NaN

筆記

POSIX指定溢出和下溢條件是范圍錯誤(可能會設置錯誤)。

IEC 60559建議from每當返回from==to。這些函數會返回to,這會使零之間的行為保持一致:nextafter(-0.0, +0.0)返回+0.0并nextafter(+0.0, -0.0)返回–0.0。

#include?#include?#include?#include?

int?main(void){

float?from1?=?0,?to1?=?nextafterf(from1,?1);????printf("The?next?representable?float?after?%.2f?is?%.20g?(%a)\n",?from1,?to1,?to1);

float?from2?=?1,?to2?=?nextafterf(from2,?2);????printf("The?next?representable?float?after?%.2f?is?%.20f?(%a)\n",?from2,?to2,?to2);

double?from3?=?nextafter(0.1,?0),?to3?=?0.1;????printf("The?number?0.1?lies?between?two?valid?doubles:\n"???????????"????%.56f?(%a)\nand?%.55f??(%a)\n",?from3,?from3,?to3,?to3);

//?difference?between?nextafter?and?nexttoward:

long?double?dir?=?nextafterl(from1,?1);?//?first?subnormal?long?double

float?x?=?nextafterf(from1,?dir);?//?first?converts?dir?to?float,?giving?0????printf("Using?nextafter,?next?float?after?%.2f?(%a)?is?%.20g?(%a)\n",

from1,?from1,?x,?x);

x?=?nexttowardf(from1,?dir);????printf("Using?nexttoward,?next?float?after?%.2f?(%a)?is?%.20g?(%a)\n",

from1,?from1,?x,?x);

//?special?values????{

#pragma?STDC?FENV_ACCESS?ON????????feclearexcept(FE_ALL_EXCEPT);

double?from4?=?DBL_MAX,?to4?=?nextafter(from4,?INFINITY);????????printf("The?next?representable?double?after?%.2g?(%a)?is?%.23f?(%a)\n",

from4,?from4,?to4,?to4);????????if(fetestexcept(FE_OVERFLOW))?puts("???raised?FE_OVERFLOW");????????if(fetestexcept(FE_INEXACT))?puts("???raised?FE_INEXACT");????}?//?end?FENV_ACCESS?block

float?from5?=?0.0,?to5?=?nextafter(from5,?-0.0);????printf("nextafter(+0.0,?-0.0)?gives?%.2g?(%a)\n",?to5,?to5);}

輸出:

The?next?representable?float?after?0.00?is?1.4012984643248170709e-45?(0x1p-149)The?next?representable?float?after?1.00?is?1.00000011920928955078?(0x1.000002p+0)The?number?0.1?lies?between?two?valid?doubles:????0.09999999999999999167332731531132594682276248931884765625?(0x1.9999999999999p-4)and?0.1000000000000000055511151231257827021181583404541015625??(0x1.999999999999ap-4)Using?nextafter,?next?float?after?0.00?(0x0p+0)?is?0?(0x0p+0)Using?nexttoward,?next?float?after?0.00?(0x0p+0)?is?1.4012984643248170709e-45?(0x1p-149)The?next?representable?double?after?1.8e+308?(0x1.fffffffffffffp+1023)?is?inf?(inf)

raised?FE_OVERFLOW

raised?FE_INEXACTnextafter(+0.0,?-0.0)?gives?-0?(-0x0p+0)

參考

C11標準(ISO / IEC 9899:2011):7.12.11.3 nextafter函數(p:256)

7.12.11.4 nexttoward函數(p:257)

7.25類型通用數學(p:373-375)

F.10.8.3 nextafter函數(p:529)

F.10.8.4 nexttoward函數(p:529)

C99標準(ISO / IEC 9899:1999):7.12.11.3 nextafter函數(p:237)

7.12.11.4 nexttoward函數(p:238)

7.22類型通用數學(p:335-337)

F.9.8.3 nextafter函數(p:466)

F.9.8.4 nexttoward函數(p:466)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529798.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529798.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529798.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c 語言 readline,如何用C實現一個readLine()函數-?該函數每次讀入文本文件的一行并打印到屏幕...

如何用C實現一個readLine()函數- 該函數每次讀入文本文件的一行并打印到屏幕(2012-04-13 00:23:41)標簽:打印文本文件如何雜談如何用C實現一個readLine()函數? 該函數每次讀入文本文件的一行并打印到屏幕以前看到過這方面的討論http://bbs.chinaunix.net/viewthrea…

STC單片機C語言中的數據類型,stc單片機c語言程序設計 第9章 stc單片機c語言數據類型.pdf...

STC單片 機C語言變量和數據類型主講:何賓Email :hebinmail.buct.edu.cn2016.03C語言中的常量和變量對于基本數據類型,按其值是否可變又分為常量和變量兩種。在程序執行過程中,其值不發生改變的量稱為常量,其值可變的量…

c4droid語言游戲,c4droid手機編程軟件下載

c4droid可以說是手機端最好的編程軟件,沒有之一,軟件可以幫助大家在手機上進行編寫C代碼,讓各位程序員們隨時隨地都能編程。操縱簡單,功能強大。c4droid軟件介紹c4droid是款Android設備上的C/C程序編譯器,默認以tcc(tiny c compil…

c語言圖像函數怎么用,請教 怎么才能用C輸出一個函數的圖像?大俠 幫幫忙啊...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓發一下我當年的練習程序#include#include#include#includedouble exp(double x){double l,m;unsigned int n;l1; m1; n0;do {n;mx*m/n;llm; }while ((-1.0E-6<m)&&(m<1.0E-6));return l; }main(){int graphmode, gra…

創業沖突的五種解決方法是_不會說話,不懂處理人際沖突怎么辦?《溝通的藝術》5步教會你...

關注“夏娃藍空間”&#xff0c;陪你成長為更好的自己。想要良好地解決沖突&#xff0c;一定要有“這是我們兩個人共同的事”的態度。今年夏天最熱門的電視劇非《三十而已》莫屬了&#xff0c;而撐起了這部劇的流量的廣大觀眾&#xff0c;基本都是集中在逐步靠近中青年階段的90…

android gsensor 坐標,MTK Android G sensor 原理,配置,調試

原理圖&#xff1a;g_sensor的驅動目錄在mediatek/custom/common/kernel/accelerometer下。一、g_sensor 的移植步驟1、在ProjectConfig.mk中配置相關的g_sensor例如 CUSTOM_KERNEL_ACCELEROMETER kxtf92、在mediatek/custom/common/kernel/accelerometer目錄中添加 g_sensor的…

網貸大數據什么時候會好_如果人類把地球鉆穿了,會發生什么?大數據分析告訴你多可怕...

很多科研人員在做實驗的時候&#xff0c;少不了被旁人嘲笑或者蔑視的情況&#xff0c;因為常人往往是無法理解他們的想法的。例如曾經就有科研人員想要對地球進行鉆探&#xff0c;看看能夠在地表上鉆多深&#xff0c;是否能夠將地球給鉆穿了。很多人都會認為這種做法沒有意義而…

android h5 有廣告,那些H5在Android上顯示的喪心病狂的坑

首先得強調一下&#xff0c;H5和移動設備的交互遇到的問題真的是各種喪心病狂&#xff01;&#xff01;但是本主依然還是耐著極大的興致(無奈)的做了下去。H5頁面在Android或者IOS上運行出現問題(這里的運行指的是h5的頁面運行在App里的webview里)&#xff0c;測試人員或者上級…

python非貪婪匹配_Python中關于正則表達式非貪婪以及多行匹配功能詳解

這篇文章主要介紹了Python正則表達式非貪婪、多行匹配功能,結合實例形式分析了Python正則表達式中非貪婪及多行匹配功能的實現方法與相關注意事項,需要的朋友可以參考下本文實例講述了Python正則表達式非貪婪、多行匹配功能。分享給大家供大家參考&#xff0c;具體如下&#xf…

小米9android q測試版,基于Android Q的MIUI來了 小米9嘗鮮

01基于Android Q的MIUI來了中關村在線消息&#xff1a;谷歌在今年五月份發布了最新的Android Q系統&#xff0c;雖然很多國產手機還沒有升級到Android P&#xff0c;但是還是有不少廠家開始對旗下的手機升級到最新的Android Q系統&#xff0c;根據小米最新的官方的消息&#xf…

ios傳值給js_WKWebView JS與OC間相互傳值調用

寫在前面本文將介紹如何使用WKWebView進行JS與OC、OC與JS間的傳值和方法調用。前置條件1、導入WebKit.framework2、聲明WKWebViewJS調用OC原生方法1、前端在js文件中實現這里要注意messageHandlers后面跟著的deviceInfo要與原生的定義的一致。2、iOS 實現WKScriptMessageHandle…

android layerlist bitmap,android?shape類似的?另一個?高端用法:layer-list

android shape類似的 另一個 高端用法&#xff1a;layer-list&#xff1a;簡介&#xff1a;將多個圖片或上面兩種效果按照順序層疊起來” 《?xml version"1.0" encoding"utf-8"?>《layer-listxmlns:android"http://schemas.android.com/apk/res/…

跨域會報40幾_總結一下跨域的幾種情況

在網站開發中&#xff0c;經常會遇到跨域問題&#xff0c;下面總結一下集中常見的跨域問題。1. 不同域名屬于跨域&#xff0c;如&#xff1a;www.a.com 和www.b.com&#xff0c;另外www.a.com 和www.a.com.cn也屬于不同域名。2. 主域名和子域名(二級域名、三級域名等)跨域&…

android將拍攝的圖片存入sd卡中,Android將圖片保存至SD卡上

首先判斷SD卡是否插入-->public String getSDPath(){File SDdirnull;boolean sdCardExistEnvironment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);if(sdCardExist){SDdirEnvironment.getExternalStorageDirectory();}if(SDdir!null){return S…

nedc和epa續航里程什么意思_400公里已成續航新起點,純電動車的實用性到底怎樣...

對于購買純電動汽車的用戶來說&#xff0c;續航里程是非常重要的參考因素&#xff0c;畢竟如果續航里程太短&#xff0c;實用性將會大打折扣&#xff0c;跑個長途都心驚膽戰的&#xff0c;生怕路上遇到堵車了、沒電了、中途沒有加油站之類的。就算是不考慮長途&#xff0c;市區…

android廣播示例,android接受開機廣播事件

【實例簡介】【實例截圖】【核心代碼】package com.yin.servicetest;import com.yin.service.MyService;import android.app.ActivityManager;import android.app.ActivityManager.RunningServiceInfo;import android.content.BroadcastReceiver;import android.content.Contex…

java class類_關于創建java中的class類的對象的方法

1.由于Class類沒有公共構造方法&#xff0c;所有創建Class的對象的方法有以下幾種&#xff1a;①通過Class.forName()靜態方法返回Class類的一個實例Class cls Class.forName("test.dog - 這個網站可出售。 - 最佳的test 來源和相關信息。");②通過類名.class來獲取…

android remote shell,關于 Appium V1.7.2 新增的唯一安卓可執行 mobile 命令 shell 的疑問...

關于 mobile: shell 在更新日志中說明&#xff0c;是從 1.7.1 升級到 1.7.2 中 “Add --relaxed-security, and mobile: shell access to adb”&#xff0c;并搜索 github 中 appium 庫&#xff0c;找到需要配置 desiredcapabilities 中 relaxedSecurityEnabled 為 true&#x…

linux 正則查找email_Hello Iris簡易微博類App開發教程3-查找用戶和用戶登錄

用戶郵箱地址有效性驗證在上一節中&#xff0c;我們編寫了用于用戶注冊的代碼。但是當時并沒有為用戶的Email添加有效性驗證&#xff0c;導致Email被設置為任何字符串都能注冊成功。所以在本節初&#xff0c;我們首先來為Email添加一個有效性驗證。首先還是來編寫測試數據&…

pyqt生成 android,PyQt on Android

問題Im working on PyQt now, and I have to create the application on Android, Ive seen the kivy library, but its too crude.Is there any way now to run an application on Android made on PyQt?回答1:Android does not support pyQt4. PyQt5 is however supported(r…