একেবারে সহজে মজায় মজায় শিখুন সি প্রোগ্রামিং-পর্ব-২

একেবারে সহজে মজায় মজায় শিখুন সি প্রোগ্রামিং।

১ম প্রকাশ এখানে

২য় প্রকাশ এখানে
আপনারা পাশে থাকলে এই নিয়ে আরো লিখব।

পড়ালেখা অনেক হল চলো আজ একটু মজা করি।
মনে কর, তোমার নতুন ভাবী মিষ্টি হাসিমুখে একটা চাউলের বস্তা ভাঁজ করে তোমার হাতে দিয়ে বলল, যাও বাজার থেকে ২কেজি চাউল নিয়ে আসো, আর তুমি সেই মিষ্টি হাসিতে ম্লান হয়ে বস্তা নিয়ে নাচতে নাচতে বাজারে চলে গেলে আর দোকানীর সামনে বস্তাটা ঢিল দিয়ে বললে, ২কেজি ভাল চাউল দেন। দোকানী সেই বস্তার ভাঁজ খুলেই তার চোখ ছানাবড়া,কারন এটাযে ৮০কেজি চাউলের বস্তা আর তুমি তাতে ২ কেজি চাউল নিতে এসেছ।
আর তা দেখে তোমার মুখের হাসি গায়েব হয়ে যাবে। ইচ্ছে হবে, যদি ভাবী এখন কাছে থাকত তবে তাহলে নির্ঘাত একটা চড় দিতে না পারলেও চোখ বন্ধ করে একটা চিমটি কেটে দেই ।

২কেজি চাউলের জন্য ৫ কেজি চাউলের বস্তা নিতে পারি, তাই বলে ৮০ কেজি চাউলের বস্তা- নিশ্চয় না। কিংবা ৫০ লিটার বালতিতে ২৫০গ্রাম দুধ নেব না।

প্রোগ্রামিং এর বেলায়ও আমরা এরকম করব না।আমাদের যখন যে রকম পাত্র দরকার, সে রকম পাত্র ব্যবহার করব অর্থাৎ সে রকম variable ব্যবহার করব।
এজন্য সি তে কত গুলো আলাদা আলাদা বস্তা রয়েছে। আমাদের যখন যে রকম বস্তা দরকার সেটা ব্যবহার করব।

তাহলে এবার চলো সেই বস্তা গুলো একবার দেখি-
short int, unsigned short int, int, unsingned int, long int, long long, float, double, long double.

আমি জানি তোমরা এখন একটা প্রশ্ন করবে, কি প্রশ্ন? সেটা হচ্ছে “আমরা একটা বস্তা দেখে বুঝতে পারব, সেটাতে কত কেজি চাউল ধরতে পারে, কিন্তু প্রোগ্রামিং এর বেলায় কিভাবে বুঝব কোন বস্তাটা দরকার বা কোন ধরণের variable দরকার ? ”

ভয় পাওয়ার কোন কারন নেই। আমি ফাঁকি দিব না, এক্ষুনি তোমাদের সেটা বলে দিচ্ছি।
মনে কর, আমাদের একটা সংখ্যার প্রয়োজন,(-৩২৭৬৮ থেকে +৩২৭৬৭)এর মধ্যে তবে, আমাদের ব্যবহার করতে হবে, short int.

আবার এটাকে যদি লিখি, unsigned short a, তবে variable a এর রেঞ্জ হবে (০ থেকে ৬৫,৫৩৬)

এভাবে বিভিন্ন রেঞ্জের বস্তা বা ভেরিয়েবল বের করার একটা সূত্র গোপন আছে, এবার সবাইকে সেটা কানে কানে সেটা বলে দিচ্ছি।

int বা signed int হচ্ছে 2 bytes মানে 16 kb (8*2) তাহলে এটা দ্বারা আমরা দেখাতে পারব [-2^15 থেকে (2^15)-1 ] অর্থাৎ -32768 থেকে +32767 পর্যন্ত।

আর যদি এটা unsigned int হতো তখনো এর size হতো 2 bytes কিন্তু এর রেঞ্জ
হতো [ 0 থেকে (2^16)-1] অর্থাৎ ০ থেকে 65535 পর্যন্ত।

অনেক পড়া হলো চলো এবার একটু গল্প করি। মনে কর,তোমার বন্ধু ফাহিমকে তুমি ৫০০ শত টাকা ধার দিয়েছ। অনেক দিন হয়ে গেলো,ফাহিম তোমাকে দিচ্ছি দিচ্ছি করে দিচ্ছে না। তারপর তুমি জানলে ও একটা আস্ত কাইস্টা ওর ঘাড় না ধরলে টাকা দিবে না। তখন তুমি রেগে গিয়ে ওর সাথে ঝগড়া করলে আর ওকে unfriend করে বলে দিলে তোর সাথে আমার আর কোন বন্ধুত্ব নেই এবার পাই পাই করে আমার টাকা গুনে দিবি। ফাহিম কাইস্টা হলেও কিন্তু এই কথা শুনে তোমার ৫০০টাকা দিয়ে দিল আবার এই অবস্থায় কিন্তু এই টাকা মার খাওয়ার সম্ভাবনাও ছিল কারন ফাহিম মনে করতে পারত ওর সাথে যেহেতু আমার সম্পর্কই থাকল না তাই টাকাও দিব না।

প্রোগ্রামিং এর বেলায়ও ঠিক কারো সামনে unsigned লিখলে, মনে কর সে খুব রেগে যায়
তাই সে [0 থেকে (2^size)-1)] পর্যন্ত দেখায়।

আরেকটি কথা কারো সাথে যদি কিছু না থাকে তার মানে তার সাথে signed আছে মনে করবে। যেমন উপরের int বা signed int একই জিনিস.
এভাবে তোমরা শুধু যে কোন ভেরিয়েবল টাইপের বিট সংখ্যা মনে রেখে তার রেঞ্জ বের করতে পারবে।

প্রয়োজনে এই ছকটা দেখতে পার।

ডেটা টাইপ বাইট সংখ্যা বিট সংখ্যা রেঞ্জ পাওয়ারে রেঞ্জ সংখ্যায়
char, signed char 1 8 -2^7 -> (2^7)-1 -128 থেকে 127

এখানে আমি টেবিল আকতে পারতেছিনা। তাই টেবিলটা এখানে দিতে পারলাম না। তাই কারো বিশেষ প্রয়োজন হলে এখান থেকে দেখে নিতে পারেন।

সবাই ভাল থাকবেন। আবার দেখা হবে। কোন সমস্যা থাকলে জানাবেন,পারলে উত্তর দিব।

Level 0

আমি Mohammad Kabir Hossain। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 9 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 5 টি টিউন ও 125 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

I am very keen to know a new thing and inform to another. I am a student department of CSE .


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

খুব ভাল লাগলো বস্তা গুলো তো দেখলাম এবার পন্য গুলো তো দেখান ।।।।।।।।।।।।।

ভাই আপনার কথা ঠিক ধরতে পারলাম না।
আমার এটা চেইন টিউন । আপনি কি প্রথমটা পড়েছেন না হলে এখানে যান https://www.techtunes.io/tutorial/tune-id/147407

লগে আছি ভাই, আমি সুবিন ভাই’র বইটা পইরা মোটামটি ধারনা নিসি। আপনার লগে প্র্যাকটিস করা সুরু করুম ইনশাল্লাহ। রেগুলার টিউন করবেন কিন্তুক!
অনেক ধন্যবাদ।

ki holo ata

@জমির, ভাই খুব খুশী হলাম আপনার লেখা পড়ে। তাড়াতাড়ি শুরু করুন। যে কোন সমস্যায় আমাকে কাছে পাবেন ইনশাল্লাহ। ভাল থাকুন ।আমার জন্য দোয়া করবেন।

@Milton Boss, কিয়া হোয়াগা বস ?