- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <multiset >
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <unordered_multiset>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ cmath ceil() Function
The C++ cmath ceil() function takes a decimal (floating-point) number and rounds it up to the nearest whole number. It gives you the smallest whole number that is either equal to or greater than the number you provide.
This function is helpful when you want to ensure that a calculated number meets or exceeds a specific minimum value.
Syntax
Following is the syntax for C++ cmath ceil() function.
double ceil(double x); or float ceil(float x); or long double ceil(long double x);
Parameters
x - The floating-point number to be rounded up.
Return Value
The smallest integral value that is not less than x (as a floating-point value).
Time Complexity
The time complexity of this function is constant, i.e.,O(1).
Example 1
The following example show's the basic usage of ceil(), by rounding up the value x to its nearest whole number.
#include <iostream>
#include <cmath>
int main() {
double value1 = 2.3;
double result1 = std::ceil(value1);
std::cout << "Ceil of " << value1 << " is " << result1 << std::endl;
return 0;
}
Output
Output of the above code is as follows
Ceil of 2.3 is 3
Example 2
The following example will demonstrate how the ceil() function handles the negative value as a input.
#include <iostream>
#include <cmath>
int main() {
double value2 = -2.7;
double result2 = std::ceil(value2);
std::cout << "Ceil of " << value2 << " is " << result2 << std::endl;
return 0;
}
Output
Following is the output of the above code
Ceil of -2.7 is -2
Example 3
This example demonstrates the use of ceil() with mathematical functions. It calculates the square root of a specified value and then rounds that result up to the nearest whole number.
#include <iostream>
#include <cmath>
int main() {
double x = sqrt(10.0);
double result = ceil(x);
std::cout << "ceil(sqrt(10.0)) = " << result << std::endl;
return 0;
}
Output
If we run the above code it will generate the following output
ceil(sqrt(10.0)) = 4