اشتباه محاسباتی برنامه نویس :اگر شما برنامه نویسی به زبان سی شارپ را انجام میدهید (تحت ویندوز یا تح…
انتشار: 2016/06/15 13:31 UTCدریافت: 2026/08/18 16:11 UTCآخرین مشاهده: 2026/08/18 16:11 UTC
اشتباه محاسباتی برنامه نویس :اگر شما برنامه نویسی به زبان سی شارپ را انجام میدهید (تحت ویندوز یا تحت وب) و اگر در نرم افزار خود محاسبات ریاضی ای دارید باید حتما به تبدیل نوع هایی که انجام میدهید با دقت خیلی زیادی توجه داشته باشید.با یک مثال مسئله را توضیح میدهیمفرض کنید در نرم افزار خود نیاز دارید تا یک عدد صحیح را در یک محاسبات اعشاری دخیل کنید و سپس نتیجه را به صحیح تبدیل کنید. بعنوان مثال کد های زیر را در نظر بگیرید:@pcgramدر متغیر i مقدار 2147483647 قرار میگیرد و سپس به نوع float تبدیل شده و در متغیر f قرار گرفته است. در نهایت نیز حاصل را مجدد به نوع صحیح تبدیل میکنیم فکر میکنید چه عددی در i2 قرار میگیرد؟ عدد -2147483648 !!!! یعنی یک عدد منفی بزرگ. و این یعنی یک اشتباه محاسباتی خیلی بزرگ. int i1 = int.MaxValue ; float f = i1; int i2 = (int)f;@pcgramدر این چنین تبدیل نوع هایی دقت کنید که حتما از نوع decimal استفاده کنید تا اعدادتان پس از تبدیل نوع تغییر نکند یا دقت آن کاهش نیابد