(আপাতত আমি "সি" প্রশ্নটি ট্যাগ করেছি তবে আপনি যদি ইউনিয়নগুলিকে সমর্থন করে এমন অন্য কোনও ভাষা সম্পর্কে সচেতন হন তবে আপনি এটিও ব্যবহার করতে পারেন।)
আপনার টাস্কটি + - * /
নিম্নলিখিত কাঠামোর জন্য চারটি মানক গাণিতিক অপারেটর তৈরি করা:
union intfloat{
double f;
uint8_t h[8];
uint16_t i[4];
uint32_t j[2];
uint64_t k;
intfloat(double g){f = g;}
intfloat(){k = 0;}
}
যেমন অপারেশনগুলি কেবলমাত্র পূর্ণসংখ্যার অংশটি ব্যবহার করে বা অ্যাক্সেস করতে পারে (সুতরাং অপারেশনের সময় যে কোনও সময় ডাবলের সাথে তুলনা করা যায় না) এবং ফলাফলটি হুবহু (বা কার্যত সমতুল্য, অ-সংখ্যাগত ফলাফলের ক্ষেত্রে যেমন NaN
) যেন সংশ্লিষ্ট গাণিতিক অপারেশনটি সরাসরি double
পরিবর্তে প্রয়োগ করা হয়েছিল ।
আপনি কোন পূর্ণসংখ্যার অংশটি ম্যানিপুলেট করতে পারেন তা বেছে নিতে পারেন, এমনকি বিভিন্ন অপারেটরের মধ্যেও বিভিন্ন ব্যবহার করতে পারেন। (আপনি ইউনিয়নের যে কোনও একটি ক্ষেত্র থেকে "স্বাক্ষরিত" অপসারণ করতেও বেছে নিতে পারেন, যদিও আপনি এটি করতে চান কিনা তা আমি নিশ্চিত নই।)
আপনার স্কোর চারটি অপারেটরের প্রত্যেকটির জন্য অক্ষরের কোড দৈর্ঘ্যের যোগফল। সর্বনিম্ন স্কোর জয়।
আমরা যারা আইইইই 754 নির্দিষ্টকরণের সাথে অপরিচিত তাদের জন্য, উইকিপিডিয়ায় এটি সম্পর্কে একটি নিবন্ধ এখানে ।
সম্পাদনা:
03-06 08:47 ইন্টফ্লোট স্ট্রাক্টে কনস্ট্রাক্টর যুক্ত করা হয়েছে। ম্যানুয়ালি ডাবল / ইত্যাদি সেট করার পরিবর্তে আপনি এগুলি পরীক্ষার জন্য ব্যবহার করতে পারবেন
intstruct
পরিপ্রেক্ষিতে uint8_8
, uint16_t
এবং তাই পরম মাপ হিসাবে short
, int
এবং তাই মান দ্বারা সংজ্ঞায়িত না হয় (প্রতিটি টাইপ একটি সর্বনিম্ন আকার এবং সেখানে আকার কঠোর ক্রম, কিন্তু এটাই).