1. 程式人生 > >關於MFC中取絕對值的函式——abs()和fabs()

關於MFC中取絕對值的函式——abs()和fabs()

  1. #include "stdio.h"
  2. #include "math.h"
  3. main()  
  4. {  
  5.    float i,j,k1,k3;  
  6.    i=-1.02;  
  7.    k1=abs(i);  
  8.    j=-2.03;  
  9.    k3=fabs(j);  
  10.    printf("abs=%.2f/nfabs=%.2f/n",k1,k3);  
  11. }  

輸出結果:k1=1.00,k3=2.03。

可見abs是取絕對值後再取整,而fabs是取絕對值。vc中對fabs()定義有3種:float fabs(),double fabs(),long double fabs()

MFC中的取絕對值函式

  1. nline longdouble fabsl(longdouble _X)  
  2.         {return (fabs((double)_X)); }  
  3. inlinefloat fabsf(float _X)  
  4.         {return ((float)fabs((double)_X)); }  

MFC中其他的操作函式

  1. inlinelongdouble acosl(longdouble _X)  
  2.         {return (acos((double)_X)); }  
  3. inlinelongdouble asinl(longdouble _X)  
  4.         {return (asin((double)_X)); }  
  5. inlinelongdouble atanl(longdouble _X)  
  6.         {return (atan((double)_X)); }  
  7. inlinelongdouble atan2l(longdouble _X, longdouble _Y)  
  8.         {return (atan2((double)_X, (double)_Y)); }  
  9. inlinelongdouble ceill(longdouble _X)  
  10.         {return (ceil((double)_X)); }  
  11. inlinelongdouble cosl(longdouble _X)  
  12.         {return (cos((double)_X)); }  
  13. inlinelongdouble coshl(longdouble _X)  
  14.         {return (cosh((double)_X)); }  
  15. inlinelongdouble expl(longdouble _X)  
  16.         {return (exp((double)_X)); }  
  17. inlinelongdouble fabsl(longdouble _X)  
  18.         {return (fabs((double)_X)); }  
  19. inlinelongdouble floorl(longdouble _X)  
  20.         {return (floor((double)_X)); }  
  21. inlinelongdouble fmodl(longdouble _X, longdouble _Y)  
  22.         {return (fmod((double)_X, (double)_Y)); }  
  23. inlinelongdouble frexpl(longdouble _X, int *_Y)  
  24.         {return (frexp((double)_X, _Y)); }  
  25. inlinelongdouble ldexpl(longdouble _X, int _Y)  
  26.         {return (ldexp((double)_X, _Y)); }  
  27. inlinelongdouble logl(longdouble _X)  
  28.         {return (log((double)_X)); }  
  29. inlinelongdouble log10l(longdouble _X)  
  30.         {return (log10((double)_X)); }  
  31. inlinelongdouble modfl(longdouble _X, longdouble *_Y)  
  32.         {double _Di, _Df = modf((double)_X, &_Di);  
  33.         *_Y = (longdouble)_Di;  
  34.         return (_Df); }  
  35. inlinelongdouble powl(longdouble _X, longdouble _Y)  
  36.         {return (pow((double)_X, (double)_Y)); }  
  37. inlinelongdouble sinl(longdouble _X)  
  38.         {return (sin((double)_X)); }  
  39. inlinelongdouble sinhl(longdouble _X)  
  40.         {return (sinh((double)_X)); }  
  41. inlinelongdouble sqrtl(longdouble _X)  
  42.         {return (sqrt((double)_X)); }  
  43. inlinelongdouble tanl(longdouble _X)  
  44.         {return (tan((double)_X)); }  
  45. inlinelongdouble tanhl(longdouble _X)  
  46.         {return (tanh((double)_X)); }  
  47. inlinefloat frexpf(float _X, int *_Y)  
  48.         {return ((float)frexp((double)_X, _Y)); }  
  49. inlinefloat ldexpf(float _X, int _Y)  
  50.         {return ((float)ldexp((double)_X, _Y)); }  
  51. #if     !defined(_M_MRX000) && !defined(_M_ALPHA)
  52. inlinefloat acosf(float _X)  
  53.         {return ((float)acos((double)_X)); }  
  54. inlinefloat asinf(float _X)  
  55.         {return ((float)asin((double)_X)); }  
  56. inlinefloat atanf(float _X)  
  57.         {return ((float)atan((double)_X)); }  
  58. inlinefloat atan2f(float _X, float _Y)  
  59.         {return ((float)atan2((double)_X, (double)_Y)); }  
  60. inlinefloat ceilf(float _X)  
  61.         {return ((float)ceil((double)_X)); }  
  62. inlinefloat cosf(float _X)  
  63.         {return ((float)cos((double)_X)); }  
  64. inlinefloat coshf(float _X)  
  65.         {return ((float)cosh((double)_X)); }  
  66. inlinefloat expf(float _X)  
  67.         {return ((float)exp((double)_X)); }  
  68. 相關推薦

    關於MFC絕對值函式——abs()fabs()

    #include "stdio.h" #include "math.h" main()   {      float i,j,k1,k3;      i=-1.02;      k1=abs(i);      j=-2.03;      k3=fabs(j);      printf("abs=%.

    函式abs fabs

    C語言 函式名: abs 功 能: 求整數的絕對值 標頭檔案:math.h 用 法: int abs(int i); 程式例: #include #include int main(void) { int number = -1234; printf("number: %d absolut

    絕對值abs()與fabs()的區別

    #include "stdio.h" #include "math.h" main() {float i,j,k1,k3; i=-1.02; k1=abs(i); j=-2.03; k3=fabs(j); printf("abs=%.2f\nfabs=%.2f\n",k1

    MYSQL函式ROUND,FLOORCEILING的用法

    一、ROUND()函式用法     ROUND(X) -- 表示將值 X 四捨五入為整數,無小數位     ROUND(X,D) -- 表示將值 X 四捨五入為小數點後 D 位的數值,D為小數點後小數位數。若要保留

    Python字典函式

    在Python中當字典的值是函式時,如果這樣寫fou = {'a':aa(),'b'=bb(),'c':cc()}fou['a']這時函式會全部被執行,其實關鍵在後面的括號,經過多次嘗試把字典裡括號去掉函式是沒有立刻執行的也就是沒有返回函式結果,可去掉字典裡函式的括號打印出fou['a']得到的結果是一個物件

    Matlab插值函式彙總使用說明

    注:該文從連結地址http://blog.sciencenet.cn/blog-457143-679275.html轉載。 MATLAB中的插值函式為interp1,其呼叫格式為:  yi= interp1(x,y,xi,’method’)            其中x,y為插值點,yi為在被插值點

    MFC選單響應事件ON_UPDATE_COMMAND_UION_COMMAND訊息區別,OnMenuSelect事件介紹

    第一個是響應開啟選單的命令的  第二個是你開啟這個選單時,處理這個選單的狀態,比如選中、變灰等等。 比如WINDOWS自帶的記事本程式,它的"格式"選單下有個"自動換行",那麼在編寫記事本這個程式時,對文字進行自動換行或不自動換行的操作就要放在ON_COMMAND訊息響應函式裡,而"自

    SAS函式(round、ceil、floor、int)用法詳解

    1.round round(x,eps)求x按照eps指定的精度四捨五入後的結果. 比如round(5654.5654,0.01)結果為5654.57,round(5654.5654,10)結果為56

    c++ 絕對值函式

    int abs(int   i) 返回整型引數i的絕對值        double cabs(struct   complex   znum) 返回複數znum的絕對值        double fabs(double   x) 返回雙精度引數x的絕對值     

    建構函式呼叫建構函式newdelete使用小結

    malloc free 是C語言的函式 new delete 是C++的操作符 #include "iostream" using namespace std; //構造中呼叫構造是危險的行為

    oracle的替換函式replacetranslate函式

    translate函式 create or replace procedure PRO_CAR_LOTTORY_PRODUCT(return_code out varchar2) is exe exception; num

    一個一元二次方程求解程式設計引申的兩個知識點(absfabs的區別以及浮點數比較相等)

    在數學運算當中經常會涉及到判斷兩個數是否相等的情況 對於整數很好處理 A==B這樣的一個語句就可以解決全部的問題 但是對於浮點數是不同的 首先,浮點數在計算機當中的二進位制表達方式就決定了大多數浮點數都是無法精確的表達的 現在的計算機大部分都是數字計算機,不是模擬機,數字機的離散化的資料表示方法自然無法精確表

    absfabs的區別

    最簡單的區別是abs為整數的絕對值,fabs為浮點數的絕對值。 C語言 函式名: abs 功 能: 求整數的絕對值 標頭檔案:math.h 用 法: int abs(int i); 程式例: #include #include int main(void) { int number = -1

    單繼承與多繼承的虛擬函式虛擬函式指標

    首先,我們瞭解一下何為單繼承,何為多繼承??單繼承:一個子類只有一個直接父類。多繼承:一個子類有兩個或多個直接父類。單繼承中的虛擬函式表分析:示例程式:#include <iostream> using namespace std; typedef void(*

    關於前端開發的建構函式模式原型模式

    我們都知道在新建一個函式的時候,會自動建立一個該函式的prototype,其中也會自動增加一個constructor屬性;每次new一個函式的物件時,都會重複建立這個函式中的方法。 但是在這裡就存在兩個問題,每個例項對於函式中初始化的內容都是一樣的,如果你想在一個例項中

    深度學習的啟用函式SigmoidReLu啟用函式梯度消失問題。

    1. Sigmoid啟用函式:              Sigmoid啟用函式的缺陷:當 x 取很大的值之後他們對應的 y 值區別不會很大,就會出現梯度消失的問題。因此現在一般都不使用Sigmoid函式,而是使用ReLu啟用函式。2. ReLu啟用函式:       ReL

    絕對值函式abs()到底應該包含哪個標頭檔案

    C/C++語言的標準庫裡包含求絕對值的函式abs(),可是它到底是在哪個標頭檔案裡面宣告的呢? C語言中, 求整數的絕對值abs()和labs()應該包含stdlib.h 求浮點數的絕對值fabs()應該包含math.h 在C++中,只需要包括cmath即可。 參考

    mysql的日期絕對值函式ABS()及其time_to_sec()

    返回日期的hh:mm:ss的秒數,單位s  time_to_sec() SELECT TIME_TO_SEC('2018-09-13 08:00:00'); SELECT TIME_TO_SEC('2018-09-14 08:00:00'); 返回結果:28800

    MFC關於檔案的讀取儲存(使用CFile與CFileDialog類)

           CFile::modeCreate 構造新檔案,如果檔案存在,則長度變為0        CFile::modeNoTruncate 該屬性和modeCreate聯合使用,可以達到如下效果:如果檔案存在,則不會將檔案的長度置為0,如果不存在,則會由modeCreate屬性來建立一個新檔案。  

    MFC總結(10) ---- MFCCFileDialog 實現瀏覽檔案瀏覽目錄功能

     CFileDialog檔案選擇對話方塊的使用:首先構造一個物件並提供相應的引數,建構函式原型如下:CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpsz