আমি সেই বিশেষ কেসটি পরিচালনা করতে চাই যেখানে দুটি সংখ্যার একসাথে গুণ করলে ওভারফ্লো হয়। কোডটি এরকম কিছু দেখাচ্ছে:
int a = 20;
long b = 30;
// if a or b are big enough, this result will silently overflow
long c = a * b;
এটি একটি সরলীকৃত সংস্করণ। আসল প্রোগ্রামে a
এবং b
রানটাইমে অন্য কোথাও উত্সাহিত হয়। আমি যা অর্জন করতে চাই তা হ'ল:
long c;
if (a * b will overflow) {
c = Long.MAX_VALUE;
} else {
c = a * b;
}
আপনি কীভাবে আমার সেরা কোডটির পরামর্শ দিচ্ছেন?
আপডেট: a
এবং b
আমার দৃশ্যে সর্বদা অ-নেতিবাচক থাকে।