পূর্ণসংখ্যা একটি ডেটা টাইপ হল এমন একটি সংখ্যাকে সংজ্ঞায়িত করতে ব্যবহৃত হয় যাতে সমস্ত ধনাত্মক, ঋণাত্মক বা শূন্য ভগ্নাংশের মান থাকে না। এইগুলির দশমিক থাকতে পারে না৷
ভাসা একটি ভগ্নাংশ মান আছে এমন একটি সংখ্যা সংজ্ঞায়িত করতে ব্যবহৃত ডেটা টাইপ। এগুলির দশমিকও থাকতে পারে৷
এখন, আমরা পরীক্ষা করব কম্পাইলার দ্বারা ফ্লোট এবং পূর্ণসংখ্যার রিটার্নের মান কী হবে যখন আমরা উভয়ের জন্য একই মান ইনপুট করব।
উদাহরণ
#include <iostream> using namespace std; int main(){ float f = 23; unsigned int x = 23; cout<<"Float f = "<<f<<endl; cout<<"Integer x = "<<x<<endl; f = 0xffffffff; x = 0xffffffff; cout << "f = " << f << endl; cout << "x = " << x << endl; return 0; }
আউটপুট
Float f = 23 Integer x = 23 f = 4.29497e+09 x = 4294967295
এখানে এই কোডটিতে, আমরা দেখতে পাচ্ছি যে যদি আমরা একটি ফ্লোটে একটি পূর্ণসংখ্যা মান পাস করি তবে এটি একটি পূর্ণসংখ্যা হিসাবে কাজ করবে এবং আউটপুট হিসাবে একটি পূর্ণসংখ্যার মান প্রদান করবে। কিন্তু তাদের উভয়ের সর্বোচ্চ মান ভিন্ন হতে পারে।
এখন, দেখা যাক যদি আমরা ফ্লোট ভ্যালু দিয়ে ইন্টিজার ভেরিয়েবল আরম্ভ করি।
উদাহরণ
#include <iostream> using namespace std; int main(){ float f = 23.768; unsigned int x = 23.768; cout<<"Float f = "<<f<<endl; cout<<"Integer x = "<<x<<endl; return 0; }
আউটপুট
Float f = 23.768 Integer x = 23
এই অবস্থায়ও প্রোগ্রামটি কম্পাইল করে রান করা হয়। পূর্ণসংখ্যা ভেরিয়েবল ইনিশিয়ালাইজ ফ্লোট মানের দশমিক বিন্দু মান বাতিল করে এবং এর পূর্ণসংখ্যা মানের সাথে শুরু হয়।
এখন, আসুন এই মানগুলির তুলনা করি -
উদাহরণ
#include <iostream> using namespace std; int main(){ float f = 0xffffffff; unsigned int x = 0xffffffff; if(f == x ){ cout<<"TRUE"; } else cout<<"FALSE"; return 0; }
আউটপুট
TRUE