সি প্রোগ্রামের মাধ্যমে কিভাবে কম্পিউউটারে সংরক্ষন করা হয়

সুত্রঃ www.codingpractise.com
  • ডাটা টাইপ কি?
    নিচের ছকটি লক্ষ্য করুনঃ

    Name

    Beginning letter of the name

    Age (year)

    Hight

    Santo

    S

    13

    4.4

    Robin

    R

    15

    5.5

    Iyar Hossain

    I

    16

    5.4

    এখানে “santo”কে আপনি word টাইপের ডাটা বলতে পারেন।একইভাবে শান্তর বয়সকে(১৩)আপনি পূর্ণ সংখ্যা type এর ডাটা বলতে পারেন এবং শান্তর উচ্চতা (৪.৪)কে আপনি float বা দশমিক type এর ডাটা বলতে পারেন।আর সবগুলো নামের প্রথম বর্ন (S,R,R,I,S)কে আপনি character বা বর্ণ type এর ডাটা বলতে পারেন।এ বিভিন্ন ধরনের ডাটাগুলোর ধরনকেই ডাটা টাইপ বলে।সহজ কথায় ডাটা টাইপ মানে হলো কোন ধরনের বা কোন টাইপের ডাটা।

  • সি প্রোগ্রামিং এর গরুত্বপূর্ণ ডাটা টাইপঃ
    আপনি জানেন, ডাটা টাইপ ও কীওয়ার্ড কি। সি প্রোগ্রামিং করতে গিয়ে আপনাকে বিভিন্ন ধরনের ডাটা টাইপ নিয়ে কাজ করতে হবে। যেমন কখনো পূর্ণ সংখ্যা ,কখনো বর্ণ নিয়ে আপনাকে কাজ করতে হবে। মনে করুন আপনি কীবোর্ড থেকে দুটি পূর্ন সংখ্যা দিবেন এবং সংখ্যা দুটি যোগ করে দেখাবেন, এই কাজটা আপনি সি প্রোগ্রামিং দিয়ে করতে চান। এখন আপনি যে পুর্ন সংখ্যা ইনপূট দিবেন এবং পূর্ন সংখ্যা নিয়ে কাজ করবেন সেটি সি প্রোগ্রামে কিভাবে লিখবেন?। এজন্য কিছু কীওয়ার্ড ব্যবহার করতে হয়, যেমন পূর্ণ সংখ্যা টাইপের ডাটা বুঝাতে ‘int’ কীওয়ার্ড,দশমিক সংখ্যা টাইপের ডাটা বুঝাতে ‘float’ কীওয়ার্ড, বর্ণ টাইপের ডাটা বুঝাতে ‘char’ কীওয়ার্ড ব্যবহার করা হয়। ইতিমধ্যে আপনি জানেন,কীওয়ার্ড কে কোন রকম পরিবর্তন না করে লিখতে হয়। যেমন ‘char ’keyword টাকে ‘char’ ছাড়া অন্য কোনভাবে (যেমন char বা CHAR) লেখা যাবে না। এই কীওয়ার্ড কে রসায়ন শাস্রের রাসায়নিক সংকেতক এর সাথে চিন্তা করুন।রসায়ন শিখতে যেমন আপনাকে বিভিন্ন রাসায়নিক সংকেত মনে রাখা লাগে,তেমনি সি প্রোগ্রামিং করার জন্য কিছু keyword আপনাকে মনে রাখতে হবে। তবে আপনাকে এ কীওয়ার্ড গুলো মুখস্ত করতে হবে না। কারন সি প্রোগ্রামিং এ যেসব ডাটা টাইপ ব্যবহৃত হয় তার সংখ্যা খুবই কম।তাছাড়া কয়েকদিন প্রোগ্রামিং করার পর এমনিতেই সব ডাটা টাইপ আপনার মুখস্ত হয়ে যাবে।এখন নিছের ছকটি শুধু একনজরে দেখে জান। এ ছকটি দেখে আপনার মনে জেসব প্রশ্ন জাগতে পারে সেগুলো একটু পরেই আলোচনা করা হবে।

    Main data type Division of main Data type কীওয়ার্ড কি ধরনের ডাটা ইনপুট দেওয়া যাবে?

    Integer(পূর্ণ সংখ্যা)

    Integer int ধনাত্মক বা ঋনাত্মক পূর্ন সংখ্যা
    Unsigned integer unsigned int ধনাত্মক পূর্ন সংখ্যা
    Signed integer signed int ধনাত্মক বা ঋনাত্মক পূর্ন সংখ্যা
    Short integer short int ধনাত্মক বা ঋনাত্মক পূর্ন সংখ্যা
    Unsigned short integer unsigned short int ধনাত্মক পূর্ন সংখ্যা
    Signed short integer signed short int ধনাত্মক বা ঋনাত্মক পূর্ন সংখ্যা
    Long integer long int ধনাত্মক বা ঋনাত্মক পূর্ন সংখ্যা
    signed long Integer signed long int ধনাত্মক বা ঋনাত্মক পূর্ন সংখ্যা
    Unsigned long Integer unsigned long int ধনাত্মক পূর্ন সংখ্যা
    float float ধনাত্মক বা ঋনাত্মক পূর্ন সংখ্যা বা ভগ্নাংশ
    Double (ভগ্নাংশ)
    double double ধনাত্মক বা ঋনাত্মক পূর্ন সংখ্যা বা ভগ্নাংশ
    Long double long double ধনাত্মক বা ঋনাত্মক পূর্ন সংখ্যা বা ভগ্নাংশ
    Character (বর্ণ) Character char বড় হাতের বা ছোট হাতের বর্ণ

লক্ষ্য করুন “int” কীওয়ার্ড এর আগে কখনো “signed”কখনো “unsigned”কখনো “short”কখনো “long ”modifier ব্যবহার করা হয়েছে।আপনার প্রশ্ন হতে পারে modifier কি এবং signed ,unsigned,short,long-এ গুলোকে কেন modifier বলা হয়?
উত্তরঃ modifier হলো যা কোন কিছুকে modify করে। যেমনঃঘোড়া দ্রুত দৌড়ায় –এই বাক্যে ‘দ্রত’শব্দটা ঘোড়ার দৌড়ানোর ধরনটা modify করে।তাই আপনি ‘দ্রত’কে modifier বলতে পারেন (যদি ও ব্যাকরণের ভাষায় adverb বলতে হবে)।একইভাবে “int”এর আগে যদি “unsigned”লিখেন তাহলে int টাইপের ডাটাটা অবশ্যই ধনাত্মক হতে হবে। অর্থাৎ int টাইপ টা শুধুমাত্র ধনাত্মক হবে এটা modify করে “unsigned” শব্দটা।তাই “unsgned”একটা modifier

***একমাত্র “unsigned ”modifier লিখলে আপনি শুধু ধনাত্মক ডাটা ইনপুট দিতে পারবেন।বাকি যে কোন modifier লিখলে ধনাত্মক ও ঋণাত্মক যে কোন ডাটা ইনপুট দিতে পারবেন।

****উপরের ছক থেকে দেখা যায় “int” কীওয়ার্ড লিখলেও পূর্ণ সংখ্যা ইনপুট দেওয়া যায় আবার “long int” লিখলেও পূর্ণ সংখ্যা ইনপুট দেওয়া যায়। তাহলে কখন “int”আর কখন “long int”ব্যবহার করব?

সংক্ষেপে উত্তর হলো -৩২৭৬৮ থেকে ছোট অথবা ৩২৭৬৭ থেকে বড় মান ইনপুট দেওয়ার জন্য int ব্যবহার না করে long int ব্যবহার করা হয়। আরও বিস্তারিত ব্যাখ্যা নিচে দেওয়া হলঃ

কম্পিউটারএর মেমরীকে আপনি নিচের মত পাশাপাশি সাজানো ছোট ছোট বক্স হিসেবে চিন্তা করতে পারেন।

 

1

2

3

4

5

6

7

8

লক্ষ করুন, এখানে ৮ টি ছোট ছোট বক্স আছে।এই ছোট একটি বক্সকে আপনি একটি বিট চিন্তা করুন।বিট হলো মেমরীর একক।৮ টি বিট মিলে হয় একটি বাইট।অর্থাৎ

১ বাইট=৮ বিট

int টাইপের ডাটার জন্য ২ বাইট জায়গা নির্ধারিত হবে।

উপরের সম্পর্ক থেকে আমরা লিখতে পারি,

২বাইট=৮*২=১৬ বিট।

অর্থাৎ int টাইপের ডাটার জন্য ১৬ টি ছোট ছোট ঘর সৃষ্টি হবে।

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

এই ১৬ টি ঘরের মধ্যে সবচেয়ে বামের ঘরটা হলো সাইন বিট।সংখ্যাটি ধনাত্মক হবে না ঋণাত্মক হবে তা নির্ধারণ করে সাইন বিট। সাইন বিট টি ০ হলে সংখ্যাটি হবে ধনাত্মক আর সাইন বিট 1 হলে সংখ্যাটি হবে ধনাত্তক।এখন বাকি থাকে ১৫টি ঘর। এখন আপনাকে যদি বলি ১৫টি খালি ঘর আছে।ঘরগুলোকে এমন ১৫ টি ডিজিট দিয়ে পূরন করুন যেন ১৫টি ডিজিট দিয়ে গঠিত সংখ্যাটা সবচেয়ে বড় হয়। এখন আপনি যে ডাটাইনপুট দেন না কেন কম্পিউটা্রেরমেমরীতে শুধু ০ এবং ১ কে স্টোর (সংরক্ষণ)করে রাখা যায়। অর্থাৎ আপনার অপশনে দুটি ডিজিটআছে-

তাহলে আপনি নিশ্চয়ই সবগুলো ঘরকে “1”দিয়ে পূরণ করবেন এবং আপনার উত্তর হবে-0111111111111111

এখানে সাইন বিট =০.মানে সংখ্যাটি ধনাত্মক। এখন 0111111111111111 কে decimal এ প্রকাশ করলে পাব,

0 * 2 15 + 1 * 2 14 + 1*2 13 + 1*2 12 + 1*2 11 + 1*2 10 + 1*2 9 + 1*2 8 +1*2 7+ 1*2 6+1*2 5+1*2 4 +1*2 3 1*2 2+1*2 1 +1*2 0

=0+16384+8192+4096+2048+1024+512+256+128+64+32+16+8+4+2+1

=32767

অর্থাৎ “int” ডাটা টাইপের সর্বোচ্চ ধনাত্মক মান ৩২৭৬৭। এখান আপনার যদি ৩২৭৬৭ থেকে বড় মান নিয়ে কাজ করতে চান, তাহলে আপনাকে অব্যশই এমন একটি ডাটা টাইপ বেছে নিতে হবে যার জন্য ২ বাইটের চেয়ে বেশি মেমরী সৃষ্টি হয়। long int এর জন্য ৪ বাইট = ৪*৮ বিট =৩২ বিট মেমরী তৈরি হয়।তাই ছোট মানের জন্য int আর বড় মানের জন্য long int ব্যবহার করা হয়।

Previous
Next Post »

পোস্ট সম্পর্কিত সমস্যার জন্য মন্তব্য দিন।ডাউনলোড লিঙ্ক এ সমস্যা জন্য ইনবক্স করুন Aimzworld007
ConversionConversion EmoticonEmoticon

Thanks for your comment