ابتدا ضرب x
در y
انجام میشه که چون دوتاشون int
هستن حاصل هم به صورت int
در نظر گرفته میشه که یه سرریز رو به وجود میاره. حالا این سرریز به long int z
منتسب میشه که باید یک تبدیل انجام بشه.
بنابراین تبدیل از مقدار سرریز int
به long int
انجام میشه نه از مقدار واقعی ضرب.
برای جلوگیری از سرریز باید تبدیل قبل از انتساب انجام بشه
long int z = z * (long int)b;
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)