float
, ভাল, একটি সি ++ ভাসমান পয়েন্ট। FFloat32
এটি এমন একটি কাঠামো যা একটি ফ্লোটকে প্রতিনিধিত্ব করে পাশাপাশি (ইউনিয়নের মাধ্যমে) সেই ভাসমানের চিহ্ন, ম্যান্টিসা এবং এক্সপোনেন্ট অংশগুলির জন্য পচে যাওয়া বিটফিল্ডগুলি।
আপনার সাধারণত কখনই ব্যবহার করা উচিত নয়FFloat32
:
- আপনি এমন কিছু এপিআই ব্যবহার করছেন যা একটি
FFloat32
(এগুলি খুব বিরল) বা প্রত্যাশা করে
- ভাসমান পয়েন্টের মান সহ আপনাকে কিছু ধরণের নিম্ন-স্তরের বিট হ্যাকারি করা দরকার (আজকাল মোটামুটি বিরল)
এটি প্রতি সপ্তাহে FFloat32
খুব খারাপ নয় , এটি কেবলমাত্র সাধারণ-উদ্দেশ্য ভাসমান পয়েন্ট ব্যবহারের জন্য আপনাকে প্রয়োজনীয় কিছু দেয় না তা সত্যিই।
এটি কোনও পুরানো float
প্লেইনের চেয়ে কম সাধারণ , যার কিছুটা স্বল্প পাঠযোগ্যতার প্রভাব রয়েছে (অন্যেরা এটি এক নজরে কী তা অবিলম্বে জানতে পারবেন না)। এটি সুস্পষ্টভাবে রূপান্তর করে নাfloat
তাই আপনি something.FloatValue
অনেকগুলি টাইপ করবেন যা খুব বড় বিষয় নয়, তবে ক্লান্তিকর হতে পারে।
শেষ অবধি, এর ইউনিয়ন এবং বিটফিল্ডগুলির ব্যবহার অ-বহনযোগ্য, এবং বাস্তবায়ন-সংজ্ঞায়িত (নীচে দেখুন)। এটি আপনার নয় সমস্যা নয়, ধরণের কাঠামোগত কাঠামো তৈরি করা হয়েছে তা নিশ্চিত করা এটি এপিকের কাজ, যাতে এটি সমস্ত সমর্থিত বাস্তবায়নের জন্য ব্যবহারযোগ্য, তবে কোনও নতুন সংকলক যখন টাইপটি প্রয়োগের ক্ষেত্রে কোনও সমস্যা ধরতে ব্যর্থ হয় তবে বাগগুলি এটির সম্ভাব্য উত্স source সংস্করণ প্রকাশিত হয় বা সমর্থিত সংকলকগুলির তালিকায় যুক্ত হয়।
সুতরাং আপনার যদি ভাসমান পয়েন্ট উপস্থাপনে পৃথক বিটগুলির সাথে খেলার প্রয়োজন না হয় তবে আপনার সম্ভবত এড়ানো উচিত FFloat32
(এর কাজিন,FFloat16
কিছুটা বেশি উপযোগ থাকতে পারে কারণ সেখানে স্ট্যান্ডার্ড 16-বিট সি ++ ভাসমান পয়েন্ট টাইপ নেই)।
এটা তোলে তাদের উপাদান পূর্ণসংখ্যা উপস্থাপনা মাধ্যমে ভাসে নিপূণভাবে সাধারণ ব্যবহার করা হয় " গতি ।" আধুনিক কম্পিউটারগুলি অনেকগুলি প্ল্যাটফর্মের জন্য প্রয়োজনীয়তার অনেকটাই অপসারণ করে এবং বিভিন্ন ধরণের-পাঞ্চিং কৌশলগুলি যা এই ধরণের কাজটি করতে ব্যবহার করা যেতে পারে বাস্তবে যে কোনও ইভেন্টে পারফরম্যান্স বা নির্ভুলতার জন্য ক্ষতিকারক হতে পারে।
এটি বলা উচিত যে অবাস্তবদের গিটহাব সংগ্রহস্থলের অনুসন্ধানে ধরণের খুব কম ব্যবহার প্রকাশিত হয় FFloat32
। এঁরা সকলেই FFloat32
নিজের সংজ্ঞা বা সংজ্ঞায় আছেন FFloat16
।
বিশেষত, FFloat32
দুটি জিনিস যা সি ++ স্ট্যান্ডার্ড কল করে। এটা তোলে:
- আপনাকে ইউনিয়নটির একাধিক সদস্য একসাথে সক্রিয় থাকলে এমন আচরণ করতে দেয়; আপনি ভাসমান পয়েন্ট সদস্যদের কাছে লিখতে এবং পূর্ণসংখ্যার সদস্যদের মধ্যে একটির কাছ থেকে পড়ার প্রত্যাশা করা হয় (9.5.1, [ক্লাস.উনিয়ন])
- ইউনিয়নের মধ্যে বিটফিল্ড বরাদ্দ একটি আইইইই ভাসমান পয়েন্ট মানের বিট বরাদ্দের সাথে মেলে বলে প্রত্যাশা করে; তবে, শ্রেণিবদ্ধের মধ্যে বিটফিল্ড সদস্যদের বরাদ্দ এবং প্রান্তিককরণ বাস্তবায়ন সংজ্ঞায়িত করা হয় (9.6.1, [শ্রেণী.বিট])
FFloat32
।