1. 程式人生 > >abs和fabs的區別

abs和fabs的區別

最簡單的區別是abs為整數的絕對值,fabs為浮點數的絕對值。

C語言
函式名: abs

功 能: 求整數的絕對值

標頭檔案:math.h

用 法: int abs(int i);

程式例:

#include

#include

int main(void)

{

int number = -1234;

printf("number: %d absolute value: %d/n", number, abs(number));

return 0;

}

fabs:函式簡介

類似的還有:

float fabsf(float num);

double fabs(double num);

long double fabsl(long double num);

fabsf() and fabsl()都是在C99中增加的!

原型:在TC中原型是extern float fabs(float x);,在VC6.0中原型是double fabs( double x );。

用法:#include <math.h>

功能:求浮點數x的絕對值

說明:計算|x|, 當x不為負時返回x,否則返回-x

類似函式:abs

程式舉例
(在VC6.0中執行通過)

#include

#include

int main(void)

{

float number = -1234.0;

printf("number: %f absolute value: %f/n", number, fabs(number));

return 0;

}

相關推薦

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

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

absfabs區別

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

函式abs fabs

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

關於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=%.

C語言中abs(int varname)fabs(double varname)的區別

cited from:http://hi.baidu.com/onlymeteor/item/9ef60791efc09ff12916479a abs和fabs,abs是整數取絕對值,而fabs是指浮點數取絕對值 函式名: fabs 功    能: 返回浮點數的絕對

absfabs、fabsf函式的用法區別

abs、fabs、fabsf三個函式都是用來求一個數的絕對值,區別如下: 1)int abs(int a);                     // 處理int型別的取絕對值

取絕對值: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

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

GETPOST區別總結

get 、post 、區別一、GET和POST區別的普遍看法:HTTP 定義了與服務器交互的不同方法,最常用的有4種,Get、Post、Put、Delete,如果我換一下順序就好記了,Put(增),Delete(刪),Post(改),Get(查),即增刪改查,下面簡單敘述一下:1)Get, 它用於獲取信息,註

JS中const、varlet區別

方法 pre 命令 con 使用 它的 comm 作用 影響 在JavaScript中有三種聲明變量的方式:var、let、const。 1.const 聲明創建一個只讀的常量。這不意味著常量指向的值不可變,而是變量標識符的值只能賦值一次,必須初始化。 const b

equals == 的區別

strong 都是 什麽 brush -s 新的 equals方法 實現 繼承 首先 看比較的對象是否為字符串,若為(String)字符串用equals 比較, 比較的是他們的值。相同返回 true ,不相同返回false. package one; p

mybatis中的#$的區別

背景 插入 trac sql註入 -m .com article 參數 -s 1. #將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。如:order by #user_id#,如果傳入的值是111,那麽解析成sql時的值為order by "111", 如果傳

hibernate中hql語句中listiterate區別

每次 hibernate 寫入 所有 讀取 條件 iter 查詢 hql 1.使用list()方法獲取查詢結果,每次發出一條語句,獲取全部數據。2.使用iterate()方法獲取查詢結果,先發出一條SQL語句用來查詢滿足條件數據的id,然後依次按照這些id查詢記錄,也就是要

java中ArrayListLinkedList區別

插入 list 新的 查找 arr tro 基於 列表 時間復雜度 ArrayList和LinkedList最主要的區別是基於不同數據結構 ArrayList是基於動態數組的數據結構,LinkedList基於鏈表的數據結構,針對這點,從時間復雜度和空間復雜度來看主要區別:

mysql中replicate_wild_do_tablereplicate_do_db區別

lan rep cati mil 多人 pan think lte 避免 使用replicate_do_db和replicate_ignore_db時有一個隱患,跨庫更新時會出錯。 如在Master(主)服務器上設置 replicate_do_db=test(my.conf

2000行之宏中###的區別

ret fun color bsp nbsp urn div def include #include<stdio.h> #define Fun(a,b) a##b int main() { x=‘H‘; y=‘W‘; printf("

HTML提交方式postget區別(實驗)

des url action 通過 性別 清除數據 map pass pack HTML提交方式post和get區別(實驗) 一、post和get區別 get提交,提交的信息都顯示在地址欄中。 post提交,提交的信息不顯示地址欄中,顯示在消息體中。 二、客戶端代碼

stringbuffer stringbuilder區別

uil build 線程 區別 單線程 線程安全 多線程操作 buffer 少量數據 stringbuffer 和 stringbuilder速度 小於 線程安全 線程非安全 單線程操作

水晶頭鍍金30U50區別

style 價格 -1 font 質量 穩定性 tex 穩定 size U是厚度單位,1μm≈40u。一般來說鍍金越厚,越耐插播,耐酸堿腐蝕,觸點壽命越長,傳輸穩定性越好,價格越貴。但是事實上,鍍金層的質量,或者說鍍金對水晶頭質量的影響,跟工藝的關系更密切。水晶頭鍍金30U

MyBatis Mapper.xml文件中 $#的區別

優先 註入 sql註入 jdb 防止 自動 || myba 由於 1.優先使用#{paramName,jdbcType=VARCHAR} 寫法,除了可以防止sql註入以外,它還能在參數裏含有單引號的時候自動轉義, 而${paramName}由於是類似於拼接sql的寫法,不具