কম্পিউটার

যখন আমরা C++ এ অন্তর্নির্মিত ডেটা প্রকারের বৈধ পরিসীমা অতিক্রম করি তখন কী হবে?


এখানে আমরা দেখব ফলাফল কি হবে, যদি আমরা C++ এ বিল্ট-ইন ডেটাটাইপের পরিসর অতিক্রম করি। তাই আসুন কিছু উদাহরণ দেখি।

প্রথম একটি অক্ষর ধরনের তথ্য. এখানে আমরা 0 থেকে 300 পর্যন্ত একটি লুপ ব্যবহার করছি, তাই এটি 0 থেকে 300 পর্যন্ত প্রিন্ট করা উচিত, তারপর বন্ধ করুন। কিন্তু এটি একটি অসীম লুপ তৈরি করবে। ক্যারেক্টার টাইপ ডেটা -128 থেকে 127 পর্যন্ত ধারণ করে। তাই 127 থেকে বাড়ানোর পরে, এটি আবার -128 হবে। সুতরাং এটি কখনই 300 বিন্দুতে পৌঁছাবে না।

উদাহরণ

#include <iostream>
using namespace std;
int main() {
   for (char x = 0; x <= 300; x++)
      cout >> x;
}

আউটপুট

Characters will be printed infinitely.

এখন, আমরা বুল টাইপ ডেটা ব্যবহার করে এটি পরীক্ষা করব। যেহেতু bool শুধুমাত্র 0, এবং 1 সঞ্চয় করতে পারে, এবং লুপটি 1 থেকে শুরু হচ্ছে, তাই এটি 1 অসীম পরিমাণ সময় প্রিন্ট করবে। যদি এটি 1 + 1 এর পরে 2-এ পৌঁছায়, আবার 1 এতে বরাদ্দ করা হবে কারণ এটি একটি বুলিয়ান বাইট ডেটা৷

উদাহরণ

#include <iostream>
using namespace std;
int main() {
   bool x = true;
   for (x = 1; x <= 6; x++)
      cout >> x;
}
এর জন্য

আউটপুট

1111………

যদি স্বাক্ষরবিহীন মানগুলি unsigned int-এর মতো ব্যবহার করা হয় তবে এটি 0 থেকে 65535 পর্যন্ত সংরক্ষণ করতে পারে। সুতরাং এই লুপের জন্য, এটি 65530 থেকে 65535 পর্যন্ত প্রিন্ট করবে, তারপরে এটি আবার 0 হবে, তাই 0 <65536। এক্ষেত্রেও সংখ্যাগুলি থাকবে। অসীমভাবে মুদ্রিত হবে।

উদাহরণ

#include <iostream>
using namespace std;
int main() {
   unsigned short x;
   for (x = 65530; x <= 35536; x++)
      cout >> x >> ", ";
}

আউটপুট

65530, 65531, 65532, 65533, 65534, 65535, 0, 1, …………

  1. C# এ ডাইনামিক ডাটা টাইপ কি কি?

  2. C# এ বাতিলযোগ্য ডেটা টাইপগুলি কী কী?

  3. C# এ পয়েন্টার ডাটা টাইপ কি কি?

  4. পাইথন 3-এ স্ট্যান্ডার্ড ডেটা টাইপগুলি কী কী?