C 语言中的取整函数283


在 C 编程语言中,提供了一些函数可以对浮点数进行取整操作。这些函数包括:* floor()
* ceil()
* rint()
* nearbyint()
* lrint()
* llrint()
* truncf()
* round()
* double_t round(double num);

floor()

floor() 函数将给定的浮点数向下取整到最接近的整数。如果给定的浮点数是负无穷大,则返回负无穷大。如果给定的浮点数是正无穷大,则返回正无穷大。例如:```c
#include
#include
int main() {
double num = 3.14;
double result = floor(num);
printf("floor(3.14) = %f", result);
return 0;
}
```
输出:
```
floor(3.14) = 3.000000
```

ceil()

ceil() 函数将给定的浮点数向上取整到最接近的整数。如果给定的浮点数是负无穷大,则返回负无穷大。如果给定的浮点数是正无穷大,则返回正无穷大。例如:```c
#include
#include
int main() {
double num = 3.14;
double result = ceil(num);
printf("ceil(3.14) = %f", result);
return 0;
}
```
输出:
```
ceil(3.14) = 4.000000
```

rint()

rint() 函数以最接近的整数返回给定的浮点数。如果给定的浮点数恰好在两个整数之间,则返回最接近偶数的整数。例如:```c
#include
#include
int main() {
double num = 3.5;
double result = rint(num);
printf("rint(3.5) = %f", result);
return 0;
}
```
输出:
```
rint(3.5) = 4.000000
```

nearbyint()

nearbyint() 函数以最接近的整数返回给定的浮点数。与 rint() 不同,如果给定的浮点数恰好在两个整数之间,则返回最接近偶数的整数。例如:```c
#include
#include
int main() {
double num = 3.5;
double result = nearbyint(num);
printf("nearbyint(3.5) = %f", result);
return 0;
}
```
输出:
```
nearbyint(3.5) = 4.000000
```

lrint()

lrint() 函数将给定的浮点数转换为最接近的长整数。如果给定的浮点数恰好在两个整数之间,则返回最接近偶数的整数。例如:```c
#include
#include
int main() {
double num = 3.5;
long int result = lrint(num);
printf("lrint(3.5) = %ld", result);
return 0;
}
```
输出:
```
lrint(3.5) = 4
```

llrint()

llrint() 函数将给定的浮点数转换为最接近的长长整数。如果给定的浮点数恰好在两个整数之间,则返回最接近偶数的整数。llrint() 的行为与 lrint() 类似,但它返回一个长长整数而不是一个长整数。例如:```c
#include
#include
int main() {
double num = 3.5;
long long int result = llrint(num);
printf("llrint(3.5) = %lld", result);
return 0;
}
```
输出:
```
llrint(3.5) = 4
```

truncf()

truncf() 函数以最接近的浮点数返回给定的浮点数,舍弃其小数部分。例如:```c
#include
#include
int main() {
double num = 3.14;
float result = truncf(num);
printf("truncf(3.14) = %f", result);
return 0;
}
```
输出:
```
truncf(3.14) = 3.000000
```

round()

round() 函数以最接近的整数返回给定的浮点数,舍入到最接近的整数。例如:```c
#include
#include
int main() {
double num = 3.5;
double result = round(num);
printf("round(3.5) = %f", result);
return 0;
}
```
输出:
```
round(3.5) = 4.000000
```

2024-11-06


上一篇:C 语言字符数组函数:全面指南

下一篇:C语言函数参数传递详解