Header Ads

ad728
  • New Updates

    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 
    
    
    
    

    No comments

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728