আপনার কাজটি হ'ল কোনও প্রোগ্রামে কোনও ভাষা লিখুন যা কোনও ভগ্নাংশ বা ভাসমান পয়েন্ট গণিত ব্যবহার না করে দুটি ভাসমান পয়েন্ট সংখ্যা একসাথে যুক্ত করে । পূর্ণসংখ্যার গণিত অনুমোদিত।
বিন্যাস
সংখ্যার বিন্যাসে স্ট্রিংগুলি 1 এবং 0 এর রয়েছে যা কোনও আইইইই 754 32-বিট ফ্লোটের বাইনারি মান উপস্থাপন করে । উদাহরণস্বরূপ 2.54 নম্বরটি "01000000001000101000111101011100" স্ট্রিং দ্বারা প্রতিনিধিত্ব করা হবে।
লক্ষ্য
আপনার প্রোগ্রামটির উপরে উল্লিখিত বিন্যাসে দুটি সংখ্যা ইনপুট করা উচিত, তাদের একসাথে যুক্ত করা উচিত এবং ফলাফলটি একই ফর্ম্যাটে ফলাফল দেওয়া উচিত। যে কোনও ভাষার সবচেয়ে সংক্ষিপ্ত উত্তরটি জিতবে!
বিধি
নিরঙ্কুশভাবে কোনও ভাসমান বিন্দু, দশমিক, বা কোনও ধরণের অ-পূর্ণসংখ্যার গণিতের ক্রিয়াকলাপ অনুমোদিত নয়।
আপনি ধরে নিতে পারেন যে ইনপুটটি পরিষ্কার (যেমন কেবলমাত্র 1 এবং 0 এর রয়েছে)।
আপনি ধরে নিতে পারেন যে ইনপুটগুলি সংখ্যা, এবং ইনফ, -আইএনএফ, বা এনএএন বা আর্মনর্মাল নয়। তবে, ফলাফলটি যদি সর্বোচ্চ মানের চেয়ে বড় হয় বা ন্যূনতম মানের চেয়ে ছোট হয় তবে আপনার যথাক্রমে ইনফ এবং -আইএনএফ ফিরে আসা উচিত। একটি অসাধারণ (নরমাল) ফলাফল 0 এ ফ্লাশ করা যেতে পারে।
আপনার রাউন্ডিং সঠিকভাবে পরিচালনা করতে হবে না। আপনার ফলাফল কয়েক বিট আউট হলে চিন্তা করবেন না।
টেস্ট
আপনার প্রোগ্রামগুলি পরীক্ষা করতে, আপনি এই সরঞ্জামটি ব্যবহার করে দশমিক এবং ভাসমান পয়েন্ট বাইনারি সংখ্যার মধ্যে রূপান্তর করতে পারেন ।
1000 + 0.5 = 1000.5
01000100011110100000000000000000 + 00111111000000000000000000000000 = 01000100011110100010000000000000
float.MaxValue + float.MaxValue = অসীমতা
01111111011111111111111111111111 + 01111111011111111111111111111111 = 01111111100000000000000000000000
321.123 + -123.321 = 197.802
01000011101000001000111110111110 + 11000010111101101010010001011010= 01000011010001011100110101010000
শুভকামনা!