C llrint() Function

📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

✅ Some premium posts are free to read — no account needed. Follow me on Medium to stay updated and support my writing.

🎓 Top 10 Udemy Courses (Huge Discount): Explore My Udemy Courses — Learn through real-time, project-based development.

▶️ Subscribe to My YouTube Channel (172K+ subscribers): Java Guides on YouTube

The llrint() function in C is a standard library function that rounds a given floating-point number to the nearest integer value and then casts the result to a long long int. It is part of the C standard library (math.h). This function is useful for performing mathematical rounding operations where the result is needed as a long long int.

Table of Contents

  1. Introduction
  2. llrint() Function Syntax
  3. Understanding llrint() Function
  4. Examples
    • Rounding and Casting a Value to Long Long Integer
    • Using llrint() with User Input
  5. Real-World Use Case
  6. Conclusion

Introduction

The llrint() function calculates the nearest integer to a given floating-point number ( x ) and then casts the result to a long long int. This function follows the current rounding mode specified by the floating-point environment, which can be controlled using the fesetround() function from <fenv.h>.

llrint() Function Syntax

The syntax for the llrint() function is as follows:

#include <math.h>
long long int llrint(double x);

Parameters:

  • x: The floating-point value to be rounded.

Returns:

  • The function returns the nearest integer to x as a long long int.

Understanding llrint() Function

The llrint() function takes a floating-point number ( x ) and returns the nearest integer value as a long long int. This function rounds according to the current rounding mode set in the floating-point environment.

Examples

Rounding and Casting a Value to Long Long Integer

To demonstrate how to use llrint() to round a value to the nearest long long integer, we will write a simple program.

Example

#include <stdio.h>
#include <math.h>

int main() {
    double value = 3.14;

    // Compute the rounded value
    long long int result = llrint(value);

    // Print the result
    printf("Rounded value of %.2f to long long int is: %lld\n", value, result);

    return 0;
}

Output:

Rounded value of 3.14 to long long int is: 3

Using llrint() with User Input

This example shows how to use llrint() to round a value provided by the user to the nearest long long integer.

Example

#include <stdio.h>
#include <math.h>

int main() {
    double value;

    // Get user input for the value
    printf("Enter a value: ");
    scanf("%lf", &value);

    // Compute the rounded value
    long long int result = llrint(value);

    // Print the result
    printf("Rounded value of %.2f to long long int is: %lld\n", value, result);

    return 0;
}

Output (example user input "2.7"):

Enter a value: 2.7
Rounded value of 2.70 to long long int is: 3

Real-World Use Case

Calculating Large Quantities in Inventory Management

In real-world applications, the llrint() function can be used to calculate the number of large quantities in inventory management, where the result must be a whole number represented as a long long int.

Example: Calculating Large Quantities

#include <stdio.h>
#include <math.h>

int main() {
    double items_per_box;
    double total_items;
    long long int boxes_needed;

    // Get user input for the number of items per box and total items
    printf("Enter the number of items per box: ");
    scanf("%lf", &items_per_box);
    printf("Enter the total number of items: ");
    scanf("%lf", &total_items);

    // Calculate the number of boxes needed
    boxes_needed = llrint(total_items / items_per_box);

    // Print the result
    printf("Number of boxes needed: %lld\n", boxes_needed);

    return 0;
}

Output (example user input items_per_box "10.0" and total_items "95.0"):

Enter the number of items per box: 10.0
Enter the total number of items: 95.0
Number of boxes needed: 10

Conclusion

The llrint() function is essential for rounding a floating-point number to the nearest integer and casting it to a long long int in C. It is useful in various mathematical calculations, particularly in fields like finance, engineering, and inventory management, where the result must be an integer represented as a long long int.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare