কম্পিউটার টিউটোরিয়াল

C++-এ বিল্ট-ইন ডেটা টাইপের বৈধ রেঞ্জ অতিক্রম করলে কী হয়?


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

প্রথমটি হল ক্যারেক্টার টাইপ ডেটা। এখানে আমরা ০ থেকে ৩০০ পর্যন্ত একটি লুপ ব্যবহার করছি, তাই এটা ০ থেকে ৩০০ পর্যন্ত প্রিন্ট করে থামা উচিত। কিন্তু এটি একটি ইনফিনিট লুপ জেনারেট করবে। ক্যারেক্টার টাইপ ডেটা -১২৮ থেকে ১২৭ পর্যন্ত ধারণ করে। তাই ১২৭ থেকে বাড়ার পর আবার -১২৮ হয়ে যাবে। তাই এটি কখনো ৩০০-এ পৌঁছাবে না।

উদাহরণ

#include <iostream>
using namespace std;

int main() {
    for (char x = 0; x <= 300; x++)
        cout >> x;
}

আউটপুট

Characters will be printed infinitely.

এখন, আমরা bool টাইপ ডেটা দিয়ে টেস্ট করব। যেহেতু bool শুধু ০ এবং ১ স্টোর করতে পারে, এবং লুপ ১ থেকে শুরু হচ্ছে, তাই এটি অসীম পরিমাণে ১ প্রিন্ট করবে। যদি ১+১ করে ২ হয়, তবে আবার ১ অ্যাসাইন হবে কারণ এটি একটি বুলিয়ান বাইট ডেটা।

উদাহরণ

#include <iostream>
using namespace std;

int main() {
    bool x = true;
    for (x = 1; x <= 6; x++)
        cout >> x;
}

আউটপুট

1111……

যদি আনসাইন্ড ভ্যালু ব্যবহার করা হয় যেমন unsigned int, তবে এটি ০ থেকে ৬৫৫৩৫ পর্যন্ত স্টোর করতে পারে। তাই এই লুপের জন্য, এটি ৬৫৫৩০ থেকে ৬৫৫৩৫ পর্যন্ত প্রিন্ট করবে, তারপর আবার ০ হবে, তাই ০ < ৬৫৫৩৬। এই কেসেও সংখ্যাগুলো অসীমভাবে প্রিন্ট হবে।

উদাহরণ

#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#-এ ডাইনামিক ডেটা টাইপ (Dynamic Data Types) কী

  2. C#-এ নালেবল ডেটা টাইপ (Nullable Data Types) কী

  3. C#-এ পয়েন্টার ডেটা টাইপগুলো কী কী?

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