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 को आवश्यकता के अनुसार बदला जा सकता है।
Types of Type Modifiers
C++ में प्रमुख type modifiers निम्नलिखित हैं:
signedunsignedshortlong
| 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;
}
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;
}
Students = 60
Example: Students की संख्या, items की संख्या या किसी ऐसी quantity को store करने के लिए जहाँ negative value meaningful नहीं है, unsigned integer उपयोगी हो सकता है।
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
Minimum int = -2147483648
Maximum int = 2147483647
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;
}
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हैं। signedtype positive और negative values को represent कर सकता है।unsignedtype केवल zero और positive values को represent करता है।shortinteger की छोटी representation के लिए उपयोग किया जा सकता है।longबड़ी integer values को represent करने के लिए उपयोग किया जा सकता है।long longबहुत बड़ी integer values के लिए उपयोगी है और कम-से-कम 64 bits की representation प्रदान करता है।- एक ही declaration में कुछ modifiers को combine किया जा सकता है, जैसे
unsigned long int। - किसी type का exact size और range implementation तथा platform पर निर्भर कर सकता है।
sizeofoperator size जानने के लिए औरnumeric_limitsrange जानने के लिए उपयोगी है।
Board Focus
signed → Positive + Negative valuesunsigned → Zero + Positive valuesshort → Short integer representationlong → Larger integer representationlong long → Very large integer valuesCommon 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;
}
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 जानने के लिए
Practice Questions
- Type Modifier क्या है?
- C++ के प्रमुख type modifiers के नाम लिखिए।
- signed और unsigned में क्या अंतर है?
- short और long modifiers का क्या उपयोग है?
- long long data type का उपयोग किसलिए किया जाता है?
- Type modifiers को combine करने से क्या तात्पर्य है?
sizeofoperator का उपयोग किसलिए किया जाता है?- निम्न declarations का अर्थ समझाइए:
signed int a; unsigned int b; short int c; long int d; long long int e; - निम्न program का output बताइए:
#include <iostream> using namespace std; int main() { signed int a = -25; unsigned int b = 50; cout << a << endl; cout << b; return 0; } - एक C++ program लिखिए जिसमें
short,unsigned,longऔरlong longvariables declare करके उनकी values display की जाएँ।