網(wǎng)站首頁 編程語言 正文
C語言庫中提供了許多函數(shù),這樣需要計算的時候,可以直接借助庫函數(shù),而不用自己重新編寫函數(shù)。今天就來看一下C語言標(biāo)準(zhǔn)庫函數(shù)里面的整型函數(shù)。
int __cdecl abs(int _X); long __cdecl labs(long _X); div_t __cdecl div(int _Numerator,int _Denominator); ldiv_t __cdecl ldiv(long _Numerator,long _Denominator);
abs函數(shù)用來計算整數(shù)的絕對值,它的參數(shù)就是待計算的整數(shù),返回值是計算后的絕對值。編寫一段簡單的代碼,演示一下這個函數(shù)的用法。
#include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { int x1 = 56,x2 = -89; int y1,y2; y1 = abs(x1); y2 = abs(x2); printf("%d %d",y1,y2); return 0; }
定義一個正整數(shù),一個負整數(shù),然后用abs函數(shù)分別求絕對值,然后將計算的結(jié)果打印出來。
如果傳遞進去的數(shù)字不是整數(shù)的話,輸出的結(jié)果是什么呢?
向abs函數(shù)里面分別傳入一個正的浮點數(shù)和一個負的浮點數(shù),計算出來的結(jié)果依然是正整數(shù),說明傳遞參數(shù)后,abs函數(shù)會將傳入的參強制轉(zhuǎn)換為整數(shù),然后在進行計算。
labs函數(shù)的功能和abs函數(shù)的功能是一樣的,不過它主要用來計算長整數(shù)的絕對值。
div函數(shù)用來計算兩個數(shù)字相除的商和余數(shù),它有兩個參數(shù),用第一個參數(shù)(分子)除以第二個參數(shù)(分母),然后將商和余數(shù)存放在結(jié)構(gòu)體中,返回的結(jié)果是一個結(jié)構(gòu)體。它的結(jié)構(gòu)體定義如下:
typedef struct _div_t { int quot; int rem; } div_t; typedef struct _ldiv_t { long quot; long rem; } ldiv_t;
quot?是商,rem?是余數(shù)。下面通過一段代碼來,來演示一下這個函數(shù)的用法。
#include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { int x1 = 10,x2 =3; div_t ret; ret = div(x1,x2); printf("%d %d",ret.quot,ret.rem); return 0; }
計算10 / 3的商和余數(shù),輸出結(jié)果如下:
同樣負整數(shù)也可以使用這個函數(shù)進行計算。
ldiv函數(shù)的功能和div函數(shù)的功能一樣,不過它主要用來計算長整數(shù)的除法。
總結(jié)
原文鏈接:https://hxydj.blog.csdn.net/article/details/122961834
相關(guān)推薦
- 2022-03-07 PXE如何實現(xiàn)自動化部署Linux系統(tǒng)介紹_Linux
- 2023-05-15 shell?Bash的數(shù)組與關(guān)聯(lián)數(shù)組的實現(xiàn)_linux shell
- 2023-07-15 監(jiān)聽鼠標(biāo)mouse事件冒泡處理
- 2022-07-16 SpringMVC @Controller和@RequestMapping注解
- 2022-09-14 python函數(shù)默認(rèn)參數(shù)使用避坑指南_python
- 2022-03-15 el-form-item prop屬性動態(tài)綁定不生效
- 2021-12-09 Linux內(nèi)存管理和尋址詳細介紹_Linux
- 2022-08-28 centos 單機版redis安裝與數(shù)據(jù)持久化
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支