成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊幾個小數取整函數的問題

開發 后端
在c++的cmath庫中提供了幾個小數取整的函數ceil() floor() round() trunc,我們可以根據不同的場景去選用它們。

 [[403864]]

在c++的cmath庫中提供了幾個小數取整的函數ceil() floor() round() trunc,我們可以根據不同的場景去選用它們。

  • ceil函數:向上取整
  • floor函數:向下取整
  • round函數:四舍五入取整
  • trunc函數:舍尾取整

下面我們依次來看看這幾個函數的特性。

ceil函數

ceil函數如下定義,函數返回不小于參數arg的最小整數,即向上取整。

  1. float ceil ( float arg ); 
  2. double ceil ( double arg ); 

我們可以用下圖來直觀的描述它,空心表示橫坐標Arg不包含所在點的值,實心表示包含所在點的值。

ceil函數

一個例子:

  1. #include <cmath> 
  2. #include <iostream> 
  3. int main() 
  4.     // ceil 
  5.     std::cout << "ceil(+3.3) = " << std::ceil(+3.3) << '\n' 
  6.               << "ceil(-3.4) = " << std::ceil(-3.4) << '\n' 
  7.               << "ceil(-0.0) = " << std::ceil(-0.0) << '\n' 
  8.               << "ceil(-Inf) = " << std::ceil(-INFINITY) << '\n'

結果如下:

  1. ceil(+3.3) = 4 
  2. ceil(-3.4) = -3 
  3. ceil(-0.0) = -0 
  4. ceil(-Inf) = -inf 

floor函數

floor函數如下定義,函數返回不大于arg的最大整數值,即向下取整。

  1. float floor ( float arg ); 
  2. double floor ( double arg ); 

其取值方法我們可以看下圖:

floor函數

再看代碼:

  1. #include <cmath> 
  2. #include <iostream> 
  3. int main() 
  4.     // floor 
  5.     std::cout << "floor(+3.6) = " << std::floor(+3.6) << '\n' 
  6.               << "floor(-3.2) = " << std::floor(-3.2) << '\n' 
  7.               << "floor(-0.0) = " << std::floor(-0.0) << '\n' 
  8.               << "floor(-Inf) = " << std::floor(-INFINITY) << '\n'

結果:

  1. floor(+3.6) = 3 
  2. floor(-3.2) = -4 
  3. floor(-0.0) = -0 
  4. floor(-Inf) = -inf 

round函數

round函數是我們最常用的取整方式,通過四舍五入方式取整,其定義如下:

  1. float round ( float arg ); 
  2. double round ( double arg ); 

同樣的我們可以用圖來描述它:

round

代碼也要有:

  1. #include <iostream> 
  2. #include <cmath> 
  3.  
  4. int main() 
  5.     // round 
  6.     std::cout << "round(+4.2) = " << std::round(4.2)  << '\n' 
  7.               << "round(+4.5) = " << std::round(4.5)  << '\n' 
  8.               << "round(+4.7) = " << std::round(4.7)  << '\n' 
  9.               << "round(-4.3) = " << std::round(-4.3) << '\n' 
  10.               << "round(-4.5) = " << std::round(-4.5) << '\n' 
  11.               << "round(-4.8) = " << std::round(-4.8) << '\n'
  12.   

看結果啦~

  1. round(+4.2) = 4 
  2. round(+4.5) = 5 
  3. round(+4.7) = 5 
  4. round(-4.3) = -4 
  5. round(-4.5) = -5 
  6. round(-4.8) = -5 

trunc函數

除了上面幾個取整方式之外,還有另外一個取整方式,我們可以叫“舍尾取整”,實際上它的作用是將整數和小數部分截斷。

  1. float trunc ( float arg ); 
  2. double trunc ( double arg ); 

從圖上可以看出,這個函數的作用是將整數部分保留而舍去小數部分。

圖片看示例:

  1. #include <cmath> 
  2. #include <iostream> 
  3. int main() 
  4.     // trunc 
  5.     std::cout << "trunc(+2.7) = " << std::trunc(+2.7) << '\n' 
  6.               << "trunc(-2.9) = " << std::trunc(-2.9) << '\n' 
  7.               << "trunc(-0.0) = " << std::trunc(-0.0) << '\n' 
  8.               << "trunc(-Inf) = " << std::trunc(-INFINITY) << '\n'

結果如下:

  1. trunc(+2.7) = 2 
  2. trunc(-2.9) = -2 
  3. trunc(-0.0) = -0 
  4. trunc(-Inf) = -inf 

最后

以上就是c++中提供的幾個取整函數的說明和使用方法,我們一定要熟知其特性而選擇正確的函數,在大量的數據運算中,使用不同的函數進行取整,最終的運算結果往往會有著很大的差異。

本文轉載自微信公眾號「Will的大食堂」,可以通過以下二維碼關注。轉載本文請聯系Will的大食堂公眾號。

 

責任編輯:武曉燕 來源: Will的大食堂
相關推薦

2009-12-01 19:02:20

PHP取整函數

2009-09-01 15:47:20

C#取整函數

2021-01-19 08:25:20

Java反射進階

2021-03-12 10:12:09

etState函數React

2022-06-07 23:28:05

線程安全后端

2021-05-07 09:31:10

三角函數指數函數取整函數

2022-03-30 09:01:37

CSS屬性函數

2021-09-08 08:55:45

Javascript 高階函數前端

2021-05-28 08:52:45

Hive分析函數

2009-12-03 14:53:53

PHP浮點類型取整

2021-11-09 06:55:03

SQLServer排序

2022-03-30 08:36:32

Node.jsPRHTTP

2022-04-21 07:34:34

JDK8JDK7數據

2021-11-28 22:57:41

C語言STM32寄存器

2020-11-11 08:38:45

作圖軟件

2022-10-17 08:22:28

2022-10-24 00:03:26

GolangNew函數

2021-11-14 05:00:56

排查Sdk方式

2021-06-01 07:55:42

DockerEOFk8s

2024-02-21 08:19:54

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品1区2区 | 久久高清国产视频 | 欧洲尺码日本国产精品 | 黄色av网站在线观看 | www.亚洲一区二区三区 | 亚洲一区二区三区视频在线 | 国产精品欧美精品日韩精品 | k8久久久一区二区三区 | 久久国产精品-久久精品 | 在线观看视频亚洲 | 亚洲国产成人精品女人久久久野战 | 欧美精品一区二区免费 | 逼逼视频| 91亚洲国产成人精品一区二三 | 精品国产一区二区三区久久狼黑人 | 精品国产一区二区三区久久影院 | 国产欧美日韩一区二区三区在线 | 99爱视频| 精品久久久久久久久久久久久久 | 伊人春色成人 | 国产农村一级国产农村 | 亚洲视频一区 | 久久久国产一区二区三区 | 在线免费观看a级片 | 波多野结衣一区二区 | 在线观看成人小视频 | av性色全交蜜桃成熟时 | 久久久精品亚洲 | 午夜视频网站 | 中文字幕日韩一区 | 99精品国产一区二区三区 | 在线免费观看黄a | 日日综合 | 亚洲品质自拍视频网站 | 日韩视频在线一区二区 | 欧美性视频在线播放 | 在线色网 | 中文字幕在线播放第一页 | 国产亚洲高清视频 | 人干人人| 亚洲国产情侣 |