- 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 sin() Function
The C++ cmath sin() function is used to calculate the sine of an angle, where the angle is in radians. Using radians is important because many mathematical functions in programming and mathematics are based on the radian measure rather than degrees.
The function returns a double value representing the sine of that angle. Mostly this function is used in trigonometry and physics calculations that requires the sine of an angle.
Syntax
Following is the syntax for C++ cmath sin() function.
double sin(double x); or float sin(float x); or long double sin(long double x);
Parameters
x - The angle in radians for which to calculate the sine.
Return Value
The function returns the sine of the given angle, as a floating-point value.
Time Complexity
The time complexity of this function is constant, i.e.,O(1).
Example 1
In the example below, we will calculate the sine of a given angle measured in radians.
#include <iostream>
#include <cmath>
int main() {
double angle = 0.5;
std::cout << "Sine of 0.5 radians: " << std::sin(angle) << std::endl;
return 0;
}
Output
If we run the above code it will generate the following output −
Sine of 0.5 radians: 0.479426
Example 2
In this example, we will calculate the sine of an angle by converting it from degrees to radians.
#include <iostream>
#include <cmath>
int main() {
double angle_degrees = 30.0;
double angle_radians = angle_degrees * (M_PI / 180.0);
std::cout << "Sine of 30 degrees: " << std::sin(angle_radians) << std::endl;
return 0;
}
Output
Following is the output of the above code −
Sine of 30 degrees: 0.5
Example 3
In this example, we will use std::sin in a loop to calculate and print the sine values of angles from 0 to in increments of /6 radians.
#include <iostream>
#include <cmath>
int main() {
for (double angle = 0.0; angle <= M_PI; angle += M_PI / 6) {
std::cout << "Sine of " << angle << " radians: " << std::sin(angle) << std::endl;
}
return 0;
}
Output
Output of the above code is as follows −
Sine of 0 radians: 0 Sine of 0.523599 radians: 0.5 Sine of 1.0472 radians: 0.866025 Sine of 1.5708 radians: 1 Sine of 2.0944 radians: 0.866025 Sine of 2.618 radians: 0.5 Sine of 3.14159 radians: 0