2 দিয়ে পূর্ণসংখ্যা ভাগ করার জন্য নিম্নলিখিত কৌশলগুলির মধ্যে কোনটি সর্বোত্তম বিকল্প এবং কেন?
কৌশল 1:
x = x >> 1;
কৌশল 2:
x = x / 2;
এখানে xএকটি পূর্ণসংখ্যা
x = x >>> 1। এছাড়াও নোট করুন যে প্ল্যাটফর্ম এবং সংকলকের উপর নির্ভর করে শিফটগুলি ব্যবহার করে বিভাগ এবং গুণগুলি ম্যানুয়ালি অপ্টিমাইজ করা বেশ যুক্তিসঙ্গত হতে পারে। - উদাহরণস্বরূপ, মাইক্রো কন্ট্রোলারদের চিন্তাভাবনা ডাব্লু / ও গুণিতকরণের জন্য সরাসরি ALU সমর্থন করে।
x /= 2কারণ x >>= 1দেখতে অনেকটা
x = x / 2পরিবর্তে আরও অনেক বেশি পাঠযোগ্য বলে মনে করি x /= 2।
⬜=সমন্বয় রয়েছে, যখনই এটি সম্ভব হয় এগুলি ব্যবহার করা উচিত। এটা সত্য যে উপর শব্দ এবং রাখে জোর সরিয়ে ফেলা xহয় পরিবর্তিত , যখন সাধারণ =অপারেটর বরং দাড়ায় যে এটা পুরানো এক একটি সম্পূর্ণ নতুন মান স্বাধীন নেভিগেশন লাগে। - সর্বদা মিলিত অপারেটার এড়ানো (যাতে এটি পাঠযোগ্য তাই কেউ শুধুমাত্র গাণিতিক অপারেটর জানে) পাশাপাশি তার বিন্দু থাকতে পারে, কিন্তু তারপর আপনি অত্যন্ত দরকারী পরিত্যাগ প্রয়োজন চাই ++, --, +=, অত্যধিক।
xএটা করা উচিত হয় আবার, তন্ন তন্ন এই ভাবে উপযুক্তx >>= 1বাx /= 2কি অপারেশন সঙ্গে প্রকাশ করার মনস্থ করা উপর নির্ভর করে। এটি দ্রুত নয় কারণ (যে কোনও আধুনিক সংকলক যেভাবেই হোক, সমান তাত্ক্ষণিকভাবে সমস্ত সমতুল্য রূপগুলি সংকলন করবে) তবে এটি কম বিভ্রান্তিকর কারণ।