YouTip
Home
JavaScript
PHP
Python3
HTML
C#
Python
Java
PyTorch
Linux
C
jQuery
CSS
XML
jQuery UI
Bootstrap
C++
Angular
HTML DOM
Redis
Web Building
Home
>
C
>
C Function Ldexp
C Function Ldexp
π 2026-06-14 | π C
[ C Standard Library -
](#) ## Description The C library function **double ldexp(double x, int exponent)** returns **x** multiplied by 2 raised to the power of **exponent**. `ldexp()` is a function in the C standard library `
`, used to calculate `x * 2^exp`. It is often used in conjunction with `frexp()` to recombine the significand and exponent parts of a floating-point number into a single floating-point number. This is very useful in numerical computations and advanced operations involving floating-point numbers. ## Declaration Below is the declaration of the ldexp() function. #include
double ldexp(double x, int exp);float ldexpf(float x, int exp);long double ldexpl(long double x, int exp); ## Parameters * `x`: The floating-point number to be combined with the exponent. * `exp`: The exponent with base 2. ## Return Value * Returns `x * 2^exp`, with the type consistent with the input `x`. ## Example The following example demonstrates the usage of the ldexp() function. ## Example #include #include
int main () { double x, ret; int n; x =0.65; n =3; ret =ldexp(x ,n); printf("%f * 2^%d = %fn", x, n, ret); return(0); } Let's compile and run the above program, which will produce the following result: 0.650000 * 2^3 = 5.200000 ### Combining with `frexp()` The following example shows how to use `frexp()` and `ldexp()` to decompose and reconstruct a floating-point number: ## Example #include #include
int main(){ double x =123.456; int exponent; double mantissa =frexp(x,&exponent); // Reconstruct the floating-point number double reconstructed_x =ldexp(mantissa, exponent); printf("Original x = %fn", x); printf("Mantissa = %f, Exponent = %dn", mantissa, exponent); printf("Reconstructed x = %fn", reconstructed_x); return 0; } Let's compile and run the above program, which will produce the following result: Original x = 123.456000Mantissa = 0.964500, Exponent = 7Reconstructed x = 123.456000 ### Code Explanation * Define a floating-point number `x` with a value of 123.456. * Use `frexp()` to decompose `x` into the significand and exponent. * Use `ldexp()` to reconstruct the original floating-point number from the significand and exponent. * Print the original value, significand, exponent, and reconstructed floating-point number. ### Error Handling The `ldexp()` function does not return an error status, but in certain cases, the input may lead to overflow or underflow. For overly large or small results, it may return positive infinity, negative infinity, or zero. Functions `isinf()` and `isnan()` can be used to detect these situations. The following example shows how to handle possible overflow and underflow situations: ## Example #include #include
#include int main(){ double x =1.0; int exponent =1024; double result =ldexp(x, exponent); if(isinf(result)){ printf("Overflow: ldexp(%f, %d) results in infinity.n", x, exponent); }else if(result ==0.0&& errno == ERANGE){ printf("Underflow: ldexp(%f, %d) results in zero.n", x, exponent); }else{ printf("ldexp(%f, %d) = %fn", x, exponent, result); } return 0; } Let's compile and run the above program, which will produce the following result: Overflow: ldexp(1.000000, 1024) results in infinity. ### Code Explanation * Define a floating-point number `x` and a very large integer `exponent`. * Call `ldexp(x, exponent)` to calculate `x * 2^exponent`, storing the result in `result`. * Use `isinf()` to check if the result is infinity and handle overflow. * Check if the result is zero and handle underflow. * Print the calculation result. ### Summary The `ldexp()` function is used to calculate `x * 2^exp` and is an important tool for handling floating-point operations. By using `ldexp()` reasonably, efficient operations on floating-point numbers can be achieved in numerical analysis, scientific computing, and engineering applications, especially when used in conjunction with the `frexp()` function. [ C Standard Library -
](#)
β C Function Log
C Function Frexp β
π Categories
β‘ JavaScript
(1589)
π PHP
(872)
π Python3
(810)
π HTML
(691)
βοΈ C#
(650)
π Python
(594)
β Java
(552)
βοΈ PyTorch
(534)
π§ Linux
(472)
βοΈ C
(432)
π¦ jQuery
(406)
π¨ CSS
(377)
π XML
(259)
π¦ jQuery UI
(231)
π― Bootstrap
(220)
βοΈ C++
(215)
π °οΈ Angular
(205)
π HTML DOM
(201)
π΄ Redis
(188)
π Web Building
(142)
π Vue.js
(141)
π R
(131)
πΌ Pandas
(124)
ποΈ SQL
(105)
βοΈ Docker
(86)
βοΈ TypeScript
(73)
βοΈ Highcharts
(70)
π AI Agent
(70)
βοΈ React
(68)
π Node.js
(65)
βοΈ Machine Learning
(60)
π Git
(59)
π΅ Go
(58)
π Markdown
(58)
π’ NumPy
(55)
π§ͺ Flask
(54)
βοΈ Scala
(53)
ποΈ SQLite
(52)
π JSTL
(52)
βοΈ VS Code
(51)
π MongoDB
(49)
π Perl
(48)
π Ruby
(47)
π Matplotlib
(47)
βοΈ Uncategorized
(46)
π Swift
(46)
ποΈ PostgreSQL
(46)
βοΈ Data Structures
(46)
π Playwright
(46)
π iOS
(45)
ποΈ MySQL
(44)
βοΈ LangChain
(43)
π FastAPI
(40)
βοΈ Ionic
(38)
π Design Patterns
(37)
βοΈ Eclipse
(37)
π¨ CSS3
(34)
π Lua
(34)
βοΈ Codex
(34)
πΈ Django
(32)
βοΈ OpenCV
(32)
π Rust
(31)
π JSP
(31)
βοΈ Claude Code
(31)
π Pillow
(30)
βοΈ OpenCode
(28)
π AI Skills
(27)
π Flutter
(26)
π Maven
(26)
π¨ Tailwind CSS
(25)
π§ TensorFlow
(25)
π Servlet
(24)
π Dart
(23)
π Assembly
(23)
βοΈ Memcached
(22)
βοΈ SVG
(22)
βοΈ Electron
(22)
π NLP
(22)
π Regex
(21)
π Android
(20)
π£ Kotlin
(19)
π Julia
(19)
π SOAP
(17)
π Selenium
(17)
π PowerShell
(17)
π Sass
(16)
π HTTP
(16)
π Zig
(15)
π AI
(15)
π AJAX
(14)
π Swagger
(14)
βοΈ Scikit-learn
(13)
βοΈ ECharts
(13)
βοΈ Chart.js
(13)
βοΈ Cursor
(13)
βοΈ SciPy
(12)
π RDF
(12)
π Ollama
(12)
π Next.js
(12)
π Plotly Dash
(12)
π JSON
(11)
π RESTful API
(11)
π WSDL
(9)
βοΈ CMake
(8)
π Firebug
(7)
π Nginx
(6)
βΈοΈ Kubernetes
(6)
π Jupyter
(6)
π LaTeX
(4)
π UniApp
(4)
ποΈ SQL Server
(1)