রবিবার, ২৫ জানুয়ারী, ২০১৫

বাংলায় সি প্রোগ্রামিং শিখার ধারাবাহিক টিউটরিয়াল (৫ম পর্ব)

·   0

আজ আমি আপনাদের সামনে বাংলায় সি প্রোগ্রামিং শিখার ধারাবাহিক টিউটরিয়ালের ৫ম পর্ব নিয়ে আলোচনা করব। আশা করি পর্বটি মনযোগ সহকারে পাঠ করবেন। তো চলুন শুরু করা যাক।
  • ডাটা টাইপের সীমা বের করার কৌশল:১ম ধাপঃআপনি যে ডাটা টাইপ এর সীমা বের করতে চান তার জন্য মেমরীতে বাইট জায়গা সৃষ্টি হয়?২য় ধাপঃএখন বাইট কে বিট এ প্রকাশ করুন।মনে করুন mবিট।৩য় ধাপঃএখন সীমা নির্নয় করুন।দুটি বিষয় খেয়াল রাখতে হবে।
    ১ম বিষয়: ডাটা টাইপ এর আগে যদি “unsigned” modifier থাকে তবে সীমা হবেঃ
    0 থেকে 2m - 1
    ২য় বিষয়: ডাটা টাইপ এর আগে যদি “unsigned” modifier না থাকে তবে সীমা হবেঃ
    2m - 1 - 1 থেকে 2m-1 - 1
    সমস্যা:
    Unsigned long int a;ডিক্লেয়ার করলে a এর address এ যে মান রাখা যাবে তার সীমা কত?
    সমাধানঃ
    ১ম ধাপঃ long int টাইপ এর data’র জন্য মেমরীতে ৪(চার)বাইট জায়গা সৃষ্টি হয়।
    ২য় ধাপঃ৪ বাইট =৪*৮বিট=৩২বিট।মনে করি m=32
    ৩য় ধাপঃ এখানে “unsigned” modifier থাকায় তবে সীমা হবেঃ
    0 থেকে 2m - 1
    = 0 থেকে 232 - 1
= 0 থেকে 4234367296 - 1
= 0 থেকে 4234367295
এখন আপনি কোন ডাটার জন্য মেমরীতে কত বাইট জায়গা সৃষ্টি হয় সেটা জানলে সেই ডাটা টাইপের সীমা বের করতে পারবেন।
  • ছক আকারে বিভিন্ন ডাটা টাইপের সীমাঃ
    ডাটা টাইপ
    মেমরীতে যত বাইট জায়গা তৈরি হয়
    মেমরীতে যত বিট জায়গা তৈরি হয়
    যে মান রাখা যাবে
    char
    18-28-1to +28-1-1=128 to 127
    unsigned char
    180 to 28-1 = 0 to ( 256-1)=0 to 255
    signed char
    18-28-1 to +28-1-1=128 to 127
    int
    216-216-1 to +216-1-1=-32768 to32767
    unsigned int
    2160 to 216-1=0 to 65535
    signed int
    216-216-1 to +216-1-1=-32768 to32767
    short int
    216-216-1 to +216-1-1=-32768 to32767
    unsigned short int
    2160 to 216-1=0 to 65535
    signed short int
    216-216-1 to +216-1-1=-32768 to32767
    long int
    432-232-1 to +232-1-1= -2147483648 to 2147483647
    signed long int
    432-232-1 to +232-1-1= -2147483648 to 2147483647
    unsigned long int
    4320 to 232-1 =0 to 4294967295
    float
    4323.4E-38 to 3.4E+38
    double
    8641.7E-308 to 1.7E308
    long double
    10803.4E-4932 to 1.1E+4932
বিঃদ্রঃ উপরেরে আলোচনায় আমরা অপারেটিং সিস্টেমটি কে ৩২ বিট চিন্তা করেছি। আপানার কম্পিউটারটি যদি ৬৪ বিট অপারেটিং সিস্টেমের হয় তাহলে মেমরী স্পেস ২ গুন বেরে যাবে। যেমনঃ long int এর জন্য ৪ বাইট এর পরিবর্তে ৮ বাইট মেমরী তৈরি হবে।
তো বন্ধুরা আজ এই পর্যন্তই। অন্য এক সময় আপনাদের সামনে আরেকটি টিউটরিয়াল নিয়ে হাজির হব।