Type Modifiers

Understanding signed, unsigned, short and long modifiers in C++.

Type Modifiers

Type Modifiers ऐसे keywords (आरक्षित शब्द) हैं जिनका उपयोग C++ में किसी data type की properties (विशेषताओं), range (सीमा) या representation को modify (परिवर्तित) करने के लिए किया जाता है।

C++ में type modifiers का उपयोग मुख्य रूप से integer और character जैसे fundamental data types के साथ किया जाता है। इनके द्वारा किसी data type की values की range को आवश्यकता के अनुसार बदला जा सकता है।

याद रखें: Type Modifier → किसी data type की range या properties को modify करने के लिए उपयोग किया जाता है।

Types of Type Modifiers

C++ में प्रमुख type modifiers निम्नलिखित हैं:

  1. signed
  2. unsigned
  3. short
  4. long
Type Modifier मुख्य उद्देश्य Example
signed Positive और negative values को represent करना signed int x;
unsigned केवल non-negative values को represent करना unsigned int x;
short छोटी integer range के लिए short int x;
long बड़ी integer range के लिए long int x;

1. signed Modifier

signed modifier का उपयोग ऐसी integer values को represent करने के लिए किया जाता है जिनमें positive और negative दोनों प्रकार की values हो सकती हैं।

सामान्यतः int पहले से ही signed होता है, इसलिए signed int और int का सामान्य अर्थ समान होता है।

#include <iostream>
using namespace std;

int main()
{
    signed int number = -50;

    cout << "Number = " << number;

    return 0;
}
Output:
Number = -50
याद रखें: signed type positive और negative दोनों values को represent कर सकता है।

2. unsigned Modifier

unsigned modifier का उपयोग ऐसी integer values के लिए किया जाता है जिनमें negative values की आवश्यकता नहीं होती। इसमें केवल zero और positive values represent की जाती हैं।

Negative values को represent करने के लिए उपलब्ध range का उपयोग नहीं होने के कारण, समान width वाले signed type की तुलना में unsigned type अधिक non-negative values represent कर सकता है।

#include <iostream>
using namespace std;

int main()
{
    unsigned int students = 60;

    cout << "Students = " << students;

    return 0;
}
Output:
Students = 60

Example: Students की संख्या, items की संख्या या किसी ऐसी quantity को store करने के लिए जहाँ negative value meaningful नहीं है, unsigned integer उपयोगी हो सकता है।

Important: यदि unsigned variable में negative value assign की जाती है, तो result को सीधे negative number के रूप में नहीं माना जाता। ऐसी स्थिति में value conversion के कारण unexpected result मिल सकता है।

3. short Modifier

short modifier का उपयोग integer data type के साथ किया जा सकता है। इसका उद्देश्य implementation द्वारा उपलब्ध छोटी integer representation का उपयोग करना है।

#include <iostream>
using namespace std;

int main()
{
    short int number = 100;

    cout << "Number = " << number;

    return 0;
}
Output:
Number = 100

short int को short form में केवल short भी लिखा जा सकता है।

short int a = 100;
short b = 200;

दोनों declarations integer type के short form को दर्शाते हैं।

4. long Modifier

long modifier का उपयोग अधिक बड़ी integer values को represent करने के लिए किया जा सकता है। इसका exact size implementation और platform पर निर्भर करता है।

#include <iostream>
using namespace std;

int main()
{
    long int population = 1000000;

    cout << "Population = " << population;

    return 0;
}
Output:
Population = 1000000

long int को सामान्यतः long भी लिखा जा सकता है।

long int number1 = 500000;
long number2 = 700000;

long long Modifier

C++ में long long का उपयोग बहुत बड़ी integer values को represent करने के लिए किया जाता है। यह कम-से-कम 64 bits की integer representation प्रदान करता है।

#include <iostream>
using namespace std;

int main()
{
    long long population = 9000000000LL;

    cout << "Population = " << population;

    return 0;
}
Output:
Population = 9000000000

यहाँ LL suffix यह बताता है कि integer literal को long long type के रूप में treat किया जाए।

Combining Type Modifiers

कुछ type modifiers को एक-दूसरे के साथ combine भी किया जा सकता है। उदाहरण के लिए unsigned और long को साथ में उपयोग किया जा सकता है।

#include <iostream>
using namespace std;

int main()
{
    unsigned long int distance = 500000;

    cout << "Distance = " << distance;

    return 0;
}
Output:
Distance = 500000

इसी प्रकार unsigned long long का उपयोग बहुत बड़ी non-negative integer values के लिए किया जा सकता है।

unsigned long long population = 10000000000ULL;

Type Modifiers and Integer Types

Type modifiers को integer types के साथ विभिन्न combinations में उपयोग किया जा सकता है।

Declaration Meaning
short int Short integer
unsigned int Non-negative integer
long int Long integer
long long int Very large integer
unsigned long int Large non-negative integer
unsigned long long int Very large non-negative integer

Signed vs Unsigned

signed और unsigned में अंतर समझना बहुत महत्वपूर्ण है।

signed unsigned
Positive और negative values को represent कर सकता है। केवल zero और positive values को represent करता है।
Range का एक हिस्सा negative values के लिए उपयोग होता है। पूरी range non-negative values के लिए उपयोग होती है।
Example: signed int x = -10; Example: unsigned int x = 10;

Example of Signed and Unsigned

#include <iostream>
using namespace std;

int main()
{
    signed int a = -25;
    unsigned int b = 25;

    cout << "Signed value = " << a << endl;
    cout << "Unsigned value = " << b;

    return 0;
}
Output:
Signed value = -25
Unsigned value = 25

Range of Integer Types

किसी integer type की exact range implementation और platform पर निर्भर करती है। इसलिए portable C++ programming में exact range के लिए standard limits का उपयोग करना बेहतर होता है।

उदाहरण के लिए, <limits> header की सहायता से किसी type की minimum और maximum values प्राप्त की जा सकती हैं।

#include <iostream>
#include <limits>
using namespace std;

int main()
{
    cout << "Minimum int = " << numeric_limits<int>::min() << endl;
    cout << "Maximum int = " << numeric_limits<int>::max();

    return 0;
}
Sample Output:
Minimum int = -2147483648
Maximum int = 2147483647
Important: ऊपर दिए गए sample values सामान्य 32-bit int implementation के उदाहरण हैं। C++ standard हर platform पर int का यही exact range होना अनिवार्य नहीं करता।

Type Modifiers with char

C++ में char type के साथ signed और unsigned modifiers का उपयोग भी किया जा सकता है। हालांकि plain char का signed या unsigned होना implementation-defined हो सकता है।

signed char a = -10;
unsigned char b = 10;

signed char और unsigned char का उपयोग विशेष परिस्थितियों में छोटे integer values या character representations के लिए किया जा सकता है।

Example of Different Type Modifiers

#include <iostream>
using namespace std;

int main()
{
    short int a = 100;
    unsigned int b = 200;
    long int c = 1000000;
    long long int d = 9000000000LL;

    cout << "Short = " << a << endl;
    cout << "Unsigned = " << b << endl;
    cout << "Long = " << c << endl;
    cout << "Long Long = " << d;

    return 0;
}
Output:
Short = 100
Unsigned = 200
Long = 1000000
Long Long = 9000000000

Important Points

  • Type modifiers data types की properties या range को modify करने के लिए उपयोग किए जाते हैं।
  • C++ के प्रमुख type modifiers signed, unsigned, short और long हैं।
  • signed type positive और negative values को represent कर सकता है।
  • unsigned type केवल zero और positive values को represent करता है।
  • short integer की छोटी representation के लिए उपयोग किया जा सकता है।
  • long बड़ी integer values को represent करने के लिए उपयोग किया जा सकता है।
  • long long बहुत बड़ी integer values के लिए उपयोगी है और कम-से-कम 64 bits की representation प्रदान करता है।
  • एक ही declaration में कुछ modifiers को combine किया जा सकता है, जैसे unsigned long int
  • किसी type का exact size और range implementation तथा platform पर निर्भर कर सकता है।
  • sizeof operator size जानने के लिए और numeric_limits range जानने के लिए उपयोगी है।

Board Focus

Exam के लिए याद रखें:
signed → Positive + Negative values
unsigned → Zero + Positive values
short → Short integer representation
long → Larger integer representation
long long → Very large integer values

Common Examples:
signed int x;
unsigned int x;
short int x;
long int x;
long long int x;

Board Important Questions

Very Short Answer Questions

Q1. Type Modifier क्या है?

Answer: Type Modifier ऐसा keyword है जो किसी data type की properties या range को modify करने के लिए उपयोग किया जाता है।

Q2. C++ के प्रमुख type modifiers के नाम लिखिए।

Answer: signed, unsigned, short और long

Q3. unsigned modifier का क्या उपयोग है?

Answer: इसका उपयोग केवल zero और positive integer values को represent करने के लिए किया जाता है।

Q4. signed modifier क्या represent करता है?

Answer: यह positive और negative दोनों प्रकार की values को represent कर सकता है।

Q5. long long का उपयोग किसलिए किया जाता है?

Answer: बहुत बड़ी integer values को represent करने के लिए long long का उपयोग किया जाता है।

Q6. sizeof operator का उपयोग किसलिए किया जाता है?

Answer: किसी data type या object द्वारा उपयोग की जाने वाली memory का size जानने के लिए।

Short Answer Questions

Q7. signed और unsigned integer में अंतर बताइए।

signed unsigned
Positive और negative values को represent कर सकता है। केवल zero और positive values को represent करता है।
Negative values के लिए range उपलब्ध होती है। Negative values के लिए range उपलब्ध नहीं होती।
signed int x = -10; unsigned int x = 10;

Q8. short और long modifiers को समझाइए।

Answer: short और long modifiers integer types की representation और range को प्रभावित करने के लिए उपयोग किए जाते हैं। short int छोटी integer representation के लिए और long int बड़ी integer values के लिए उपयोग किया जा सकता है। इनके exact sizes implementation पर निर्भर करते हैं।

Q9. Type modifiers को combine करने से क्या तात्पर्य है?

Answer: कुछ type modifiers को एक साथ उपयोग किया जा सकता है। उदाहरण के लिए unsigned long int में unsigned और long दोनों modifiers का उपयोग किया गया है।

Long Answer Questions

Q10. C++ के विभिन्न type modifiers को उदाहरण सहित समझाइए।

Answer: C++ में प्रमुख type modifiers signed, unsigned, short और long हैं। signed positive और negative values को represent करता है, जबकि unsigned केवल non-negative values के लिए उपयोग होता है। short छोटी integer representation और long बड़ी integer representation के लिए उपयोग किया जा सकता है। बहुत बड़ी integer values के लिए long long का उपयोग किया जाता है।

signed int a = -10;
unsigned int b = 20;
short int c = 100;
long int d = 1000000;
long long int e = 9000000000LL;

Q11. signed और unsigned data types को उदाहरण सहित समझाइए।

#include <iostream>
using namespace std;

int main()
{
    signed int temperature = -10;
    unsigned int students = 50;

    cout << "Temperature = " << temperature << endl;
    cout << "Students = " << students;

    return 0;
}
Output:
Temperature = -10
Students = 50

Quick Revision

  • Type Modifier: Data type की properties या range को modify करता है।
  • signed: Positive और negative values
  • unsigned: Zero और positive values
  • short: Short integer representation
  • long: Larger integer representation
  • long long: Very large integer values
  • sizeof: Memory size पता करने के लिए
  • numeric_limits: Type की limits/range जानने के लिए
One-Line Revision: C++ में signed, unsigned, short और long जैसे type modifiers का उपयोग data types की representation, range या properties को आवश्यकता के अनुसार modify करने के लिए किया जाता है।

Practice Questions

  1. Type Modifier क्या है?
  2. C++ के प्रमुख type modifiers के नाम लिखिए।
  3. signed और unsigned में क्या अंतर है?
  4. short और long modifiers का क्या उपयोग है?
  5. long long data type का उपयोग किसलिए किया जाता है?
  6. Type modifiers को combine करने से क्या तात्पर्य है?
  7. sizeof operator का उपयोग किसलिए किया जाता है?
  8. निम्न declarations का अर्थ समझाइए:
    signed int a;
    unsigned int b;
    short int c;
    long int d;
    long long int e;
  9. निम्न program का output बताइए:
    #include <iostream>
    using namespace std;
    
    int main()
    {
        signed int a = -25;
        unsigned int b = 50;
    
        cout << a << endl;
        cout << b;
    
        return 0;
    }
  10. एक C++ program लिखिए जिसमें short, unsigned, long और long long variables declare करके उनकी values display की जाएँ।
Lesson 21 of 39
On This Page