প্রোগ্রামিংয়ের মৌলিক ধারণা/পূর্ণসংখ্যা ডেটা টাইপ
সংক্ষিপ্ত বিবরণ
[সম্পাদনা]একটি পূর্ণসংখ্যা (ইনটিজার) ডেটা প্রকার কিছু নির্দিষ্ট পরিসরের গাণিতিক পূর্ণসংখ্যা উপস্থাপন করে। পূর্ণসংখ্যা ডেটা প্রকারের আকার ভিন্ন হতে পারে এবং কিছু ক্ষেত্রে ঋণাত্মক মান গ্রহণযোগ্য না-ও হতে পারে। কম্পিউটারে পূর্ণসংখ্যাগুলো সাধারণত বিটের একটি গ্রুপ হিসেবে উপস্থাপিত হয়। গ্রুপিংয়ের আকারের উপর ভিত্তি করে পূর্ণসংখ্যার আকার ভিন্ন হয় এবং বিভিন্ন কম্পিউটার ও প্রোগ্রামিং ভাষায় তা ভিন্ন হতে পারে।[১]
আলোচনা
[সম্পাদনা]পূর্ণসংখ্যা ডেটা প্রকার ভগ্নাংশ ছাড়া সম্পূর্ণ সংখ্যা উপস্থাপন করে। অর্থাৎ ৬ ও ৭ এর মধ্যে কোনো সংখ্যা নেই। তবে প্রশ্ন উঠতে পারে, সব সংখ্যাই যদি ভগ্নাংশ সহ রাখি (floating point), তাহলে কি আরও সুবিধা হয় না? এর তিনটি প্রধান কারণ আছে। প্রথমত, বাস্তব জীবনের অনেক কিছুরই ভগ্নাংশ হয় না। একটি কুকুর, যদিও তার তিনটি পা থাকতে পারে, তবুও সে এক (১) টি কুকুরই। দ্বিতীয়ত, পূর্ণসংখ্যা প্রায়ই প্রোগ্রামের প্রবাহ নিয়ন্ত্রণে ব্যবহৃত হয়, যেমন কাউন্টিং-এর জন্য। এজন্য এমন একটি ডেটা প্রকারের প্রয়োজন হয় যেটি এক মান থেকে সরাসরি আরেক মানে যেতে পারে। তৃতীয়ত, সিপিইউ-তে পূর্ণসংখ্যার প্রক্রিয়াকরণ ভগ্নাংশের তুলনায় অনেক দ্রুত হয়।
পূর্ণসংখ্যা ডেটা প্রকার অধিকাংশ প্রোগ্রামিং ভাষায় একই রকম বৈশিষ্ট্য ও আচরণ প্রদর্শন করে।
| ভাষা | সংরক্ষিত শব্দ | আকার | পরিসর |
|---|---|---|---|
| C++ | short
|
১৬ বিট / ২ বাইট | -৩২,৭৬৮ থেকে ৩২,৭৬৭ |
| C++ | int
|
পরিবর্তনশীল | কম্পাইলারের উপর নির্ভরশীল |
| C++ | long
|
৩২ বিট / ৪ বাইট | -২,১৪৭,৪৮৩,৬৪৮ থেকে ২,১৪৭,৪৮৩,৬৪৭ |
| C++ | long long
|
৬৪ বিট / ৮ বাইট | −৯,২২৩,৩৭২,০৩৬,৮৫৪,৭৭৫,৮০৮ থেকে ৯,২২৩,৩৭২,০৩৬,৮৫৪,৭৭৫,৮০৭ |
| C# | short
|
১৬ বিট / ২ বাইট | -৩২,৭৬৮ থেকে ৩২,৭৬৭ |
| C# | int
|
৩২ বিট / ৪ বাইট | -২,১৪৭,৪৮৩,৬৪৮ থেকে ২,১৪৭,৪৮৩,৬৪৭ |
| C# | long
|
৬৪ বিট / ৮ বাইট | −৯,২২৩,৩৭২,০৩৬,৮৫৪,৭৭৫,৮০৮ থেকে ৯,২২৩,৩৭২,০৩৬,৮৫৪,৭৭৫,৮০৭ |
| Java | short
|
১৬ বিট / ২ বাইট | -৩২,৭৬৮ থেকে ৩২,৭৬৭ |
| Java | int
|
৩২ বিট / ৪ বাইট | -২,১৪৭,৪৮৩,৬৪৮ থেকে ২,১৪৭,৪৮৩,৬৪৭ |
| Java | long
|
৬৪ বিট / ৮ বাইট | −৯,২২৩,৩৭২,০৩৬,৮৫৪,৭৭৫,৮০৮ থেকে ৯,২২৩,৩৭২,০৩৬,৮৫৪,৭৭৫,৮০৭ |
| JavaScript | প্রযোজ্য নয় | ||
| Python | int()
|
সীমাহীন | |
| Swift | Int
|
পরিবর্তনশীল | প্ল্যাটফর্মের উপর নির্ভরশীল |
| Swift | Int32
|
৩২ বিট / ৪ বাইট | -২,১৪৭,৪৮৩,৬৪৮ থেকে ২,১৪৭,৪৮৩,৬৪৭ |
| Swift | Int64
|
৬৪ বিট / ৮ বাইট | −৯,২২৩,৩৭২,০৩৬,৮৫৪,৭৭৫,৮০৮ থেকে ৯,২২৩,৩৭২,০৩৬,৮৫৪,৭৭৫,৮০৭ |
C++ ও Swift-এ ডিফল্ট পূর্ণসংখ্যার আকার কম্পাইলার ও কম্পিউটার অনুযায়ী পরিবর্তিত হয়। একে বলা হয় যন্ত্রনির্ভর (machine dependent)। এই বৈচিত্র্য একজন নতুন প্রোগ্রামারের জন্য বিভ্রান্তিকর হতে পারে। তবে একজন নতুন শিখিয়ে প্রোগ্রামারের জন্য গুরুত্বপূর্ণ হলো পূর্ণসংখ্যা ডেটা প্রকারের সাধারণ বৈশিষ্ট্যগুলো বোঝা যা বেশিরভাগ প্রোগ্রামিং ভাষায় প্রযোজ্য।
JavaScript-এ আলাদা পূর্ণসংখ্যা ডেটা প্রকার নেই, তবে Math.round() ফাংশন ব্যবহার করে একটি সংখ্যাকে কাছাকাছি পূর্ণসংখ্যায় রূপান্তর করা যায়।[২]
Python ৩-এ পূর্ণসংখ্যার আকার সীমাহীন, তবে sys.maxsize ব্যবহার করে তালিকা বা স্ট্রিং ইনডেক্সের সর্বোচ্চ ব্যবহারিক আকার জানা যায়।[৩]
মূল শব্দ
[সম্পাদনা]- যন্ত্রনির্ভর
- প্রোগ্রামিং ভাষার এমন একটি বৈশিষ্ট্য যা কম্পিউটারের CPU-এর উপর নির্ভর করে পরিবর্তিত হয়।