Different between Long and Short integers in C

In C programming, integers are a fundamental data type used to represent whole numbers. However, the language provides variations of integers, such as long and short, that offer different ranges and storage sizes. In this article, we will explore the distinctions between long and short integers in C, their respective applications, and considerations for their usage.

Integer Data Types in C

Before delving into the specifics of long and short integers, let’s recap the standard integer data types in C:

  • int: The basic integer data type in C, typically represented by 4 bytes.
  • short int or short: A shortened version of the int type, usually represented by 2 bytes.
  • long int or long: An extended version of the int type, typically represented by 8 bytes.
  • long long int or long long: An even larger version of the int type, generally represented by 8 bytes.

Short Integers: Compact and Limited

Short integers, as the name suggests, provide a more compact representation of whole numbers. Here are some key characteristics of short integers:

  • Storage Size: Short integers typically occupy 2 bytes (16 bits) of memory.
  • Range: They can represent integer values from approximately -32,768 to 32,767.
  • Usage: Short integers are commonly used in scenarios where memory is a constraint, such as embedded systems or when storing large collections of small integers.

Long Integers: Extended Range and Precision

Long integers, on the other hand, offer an extended range and greater precision. Consider the following aspects of long integers:

  • Storage Size: Long integers usually occupy 8 bytes (64 bits) of memory.
  • Range: They can represent integer values from approximately -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
  • Usage: Long integers are useful in situations that require handling large numbers or when dealing with calculations involving a wide range of values.

Choosing between Long and Short Integers

When deciding whether to use long or short integers in your C programs, consider the following guidelines:

  • Range Requirements: If you need to work with large numbers beyond the limits of int, long integers are the suitable choice.
  • Memory Constraints: If memory optimization is crucial, short integers can help conserve memory by using only 2 bytes instead of 8 bytes for each variable.
  • Compatibility: Ensure compatibility with existing code or libraries that might expect a specific integer type.

Examples of Long and Short Integers Usage

Let’s explore a few practical examples of when long or short integers might be preferred:

  • Financial Applications: Handling currency values, where precision is essential, can benefit from the extended range of long integers.
  • Sensor Readings: In embedded systems, short integers can be utilized to store sensor readings when memory resources are limited.
  • Loop Variables: For loop counters or indices, where the range is known to be small, short integers can be more appropriate.


Understanding the distinction between long and short integers in C is vital for choosing the appropriate integer type for your programming needs. Short integers offer compact storage and are suitable for memory-constrained situations, while long integers provide extended range and precision for handling large numbers. By considering the specific requirements of your program, you can make an informed decision on whether to utilize long or short integers.