Dark Mode Logo (Optional)

Dark Mode Logo (Optional)

Preprocessor Directive Program 3




 Preprocessor Directive Program 3

यदि Header File को Open करके ना देखना चाहे तो निम्नानुसार एक Program बनाकर भी हम विभन्न Data Types द्वारा प्रदान की जाने वाली Minimum व Maximum Range का पता लगा सकते है |

चुकी इन विभन्न प्रकार के Directives को “limits.h”  नाम की Header File में Define किया गया है , इसलिए इन Directives को Access करने के लिए हमें “limits.h” नाम की Header File को अपने Program में Include करना जरुरी होता है |

Program

  
#include<stdio.h>
#include<conio.h>
#include<limits.h>
#include<float.h>
#define – printf(“\n Minimum
#define – printf(“\n Maximum
void main ( ) {
- shor|shortint|singedshort|shortint:%d”,SHRT_MIN);
- short|short int |signed short| signed short int:%d”,SHRT_MAX);
- unsigned short |unsigned short int :%u”,0;
- unsigned short|  unsigned short int:%u”,USURT_MAX);
- int| signed int :%d”, INT_MIN);
- int | signed int:%d”, INT_MAX);
- unsigned int :%u”,0);
- long | long int | signed long | signed long int : %ld”, LONG_MIN);
- long | long int | signed long | signed long int:%ld”,LONG_MAX);
- unsigned long | unsigned long int: %lu”, 0);
- unsigned long | unsigned long int:%lu”, ULONG_MAX);
- float :%e”, FLT_MIN);
- float :%e”,FLT_MAX);
- double:%e”,DBL_MIN);
- double:%e”,DBL_MAX);
- long double :%Le”, LDBL_MIN);
- long double:%Le”,LDBL_MAX);
}


ये Program देखने में बहुत अजीब लग सकता है , लेकिन इस Program में हमने Underscore व Double Underscore Symbol से printf( ) Function के कुछ Part को Directive के रूप में परिभाषित कर लिया है | जब इस Program को Compile करते है , तब Program Compile होने से पहले Underscore ( _ ) Symbol के स्थान पर printf(“\n Mininmum” String को व Double Underscore Symbol ( _ ) के स्थान पर printf(“\n Maximum ‘String Replace कर देता है | Preprocess होने के बाद जब Program Compile होकर Run होता है , तब हमें इस Program Compile होकर Run होता है , तब हमें इस Program का Output निम्नानुसार प्राप्त होता है |

 

 Output



Minimum/short / short int | signed short |signed short int :-32768
Minimum short| short int signed short | signed short int : 32767
Minimum unsigned short | unsigned short int : 0
Maximum unsigned short | unsigned short int :65535
Maximum int | signed int : -2147483648
Maximum int | signed int :  2147483647
Maximum unsigned int : 0
Maximum unsigned int : 4294967295
Minimum long | long int | signed long | signed long int : -2147483648
Maximum long | long int | signed long | singed long int : 2147483647
Maximum unsigned long | unsigned long int : 0
Maximum unsigned long | unsigned long int : 4294967295
Minimum float : 1.175494e-38
Maximum float : 3.402823e+38
Minimum double :  2.225074-308
Maximum double : 1.797693e+308
Minimum long double : 3.362103e-4932
Maximum long double : 1.18973le+4932

 

limits.h नाम की Header File में विभन्न प्रकार के Integer से सम्बंधित Range की जानकारी होती है , उसी तरह से float से सम्बंधित विभन्न प्रकार  के Range की जानकारी के लिए हम “float.h” नाम की Header File को Open करके देख सकते है | इसलिए हमने हमारे Program में Float व Double से सम्बंधित Range की जानकारी के लिए “float.h” नाम की Header file को भी अपने Program में Include किए है |

यदि हम ये बनाना चाहे की विभन्न प्रकार के Data Type के Identifier Memory में कितने Bytes की Space Reserve करते है , तो इस बात का पता लगाने के लिए हम sizeof ( ) Operator का प्रयोग  कर सकते है | ये Operator Argument के रूप में उस Identifier या Data Type को लेता है , जिसकी size को हम जानना चाहते है और हमें उस Data Type या Identifier की Size Return करता है | यानी इस Operator के Bracket के बीच में हम जिस Identifier या Data Type को लिख देते है , हमें उसी Data Type की size का पता चल जाता है |

समान्यतया  Integer Data Type के अलावा सभी Data Type  सभी प्रकार के Computers में समान Memory Occupy करते है , जबकि Integer, Memory में Compiler के Register की size के बराबर Space Reserve करता है |

यदि हम 16- Bit Compiler में Bit Processor पर Program Develop करते व Run करते है , तो Integer 16 – Bit System में 2 Bytes का होता है जबकि 32-Bit System में Integer की size 4-Bytes होती है | हम जिस Compiler को use कर रहे है , उस Compiler द्वारा विभन्न प्रकार के Basic Data Type द्वारा Occupy की जा रही Memory का पता हम निम्न Program द्वारा लगा सकते है |

 

Program



#include<stdio.h>
#include<conio.h>
void main( )
{
 printf(“char :%d Bytes \n”, sizeof(char));
 printf(“short :%d Bytes \n”, sizeof(short));
 printf(“int :%d Bytes \n”, sizeof(int));
 printf(“long :%d Bytes \n”, sizeof(long));

 printf(“signed char:%d Bytes\n”, sizeof(signed char));
 printf(“signed short:%d Bytes\n”, sizeof(signed short));
 printf(“signed int:%d Bytes\n”, sizeof(signed int));
 printf(“signed long:%d Bytes\n\n”, sizeof(signed long));
 
 printf(“unsigned char:%d Bytes\n”, sizeof(unsigned char));
 printf(“unsigned short:%d Bytes\n”, sizeof(unsigned short));
 printf(“unsigned int:%d Bytes\n”, sizeof(unsigned short));
 printf(“unsigned int:%d Bytes\n”, sizeof(unsigned int));
 printf(“unsigned long:%d Bytes\n\n”, sizeof(unsigned long));

 printf(“float :%d Bytes\n”, sizeof(float));
 printf(“double :%double\n”, sizeof(double));
 printf(“long double:%d Bytes\n”, sizeof(long double));
 
 getch( );

}


 

Output

  

---------------------------------------------------------------------------
 16 – Bit Computer’s  Output                  32-Bit Computers Output
--------------------------------------------------------------------------

char            : 1 Bytes                   char           : 1 Bytes
short           : 2 Bytes                   short          : 2 Bytes
int             : 2 Bytes                   int            : 4 Bytes
long            : 4 Bytes                   long           : 4 Bytes

signed char     : 1 Bytes                   signed char    : 1 Bytes
signed short    : 2 Bytes                   signed short   : 2 Bytes
signed int      : 2 Bytes                   signed int     : 4 Bytes
signed long     : 4 Bytes                   signed long    : 4 Bytes

unsigned char  : 1 Bytes                    unsigned char  : 1 Bytes
unsigned short : 2 Bytes                    unsigned short : 2 Bytes
unsigned int   : 2 Bytes                    unsigned int   : 4 Bytes
unsigned long  : 4 Bytes                    unsigned long  : 4 Bytes

float          : 4 Bytes                    float          : 4 Bytes
double         : 8 Bytes                    double         : 8 Bytes
long double    : 10 Bytes                   long double    :10 Bytes 



You may like these posts:

No comments:

Post a Comment