نقل قول: ضرب دو عدد UInt64 ??????????????????
سلام دوست عزیز این دستور بزرگترین مقدار uint64 رو نشون میده.
MessageBox.Show(UInt64.MaxValue.ToString());
موفق باشید./
نقل قول: ضرب دو عدد UInt64 ??????????????????
نقل قول:
نوشته شده توسط
The Life
سلام دوست عزیز این دستور بزرگترین مقدار uint64 رو نشون میده.
MessageBox.Show(UInt64.MaxValue.ToString());
موفق باشید./
ممنون از پاسختون , ولی من اینو می دونم ..چطور می تونم مشکل این overflow رو حل کنم ؟ چطور می تونم اون قسمتی که مجاز است را بردارم و بقیه را دور بریزم ...
نقل قول: ضرب دو عدد UInt64 ??????????????????
از متغییرdecimal استفاده کن
نقل قول: ضرب دو عدد UInt64 ??????????????????
نقل قول:
نوشته شده توسط
maria anders
من دو تا عدد دارم که این دو عدد از xor با دو تا عدد دیگه بدست آمده است .
a=u1 xor r1
b=u2 xor r2
هر دو متغیر من از نوع UINT64 می باشد , حالا من a=a*b می کنم .
عدد من بزرگتر از سقف متغیر می شه و من overflow دارم میخوام به اندازه max ؛ UINT نگهدارم و بقیه عدد را بیرون بریزم ...
چطور اینکار انچام بدم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:عصبان ++:
thanks.
عملیات ضرب رو توی یک try catch بذارین، اگه OverFlowException داد، مقدار a رو برابر با UInt64.MaxValue در نظر بگیرید.
در ضمن این کد در یک بلوک checked هم باید باشه تا نتیجه خراب نشه.
checked
{
try
{
a = a * b;
}
catch (OverflowException) {
a=UInt64.MaxValue;
}
}
نقل قول: ضرب دو عدد UInt64 ??????????????????
من نمیخوام که اگه عدد من بزرگتر از UINT64 شد , maxاین عدد را قرار بده , می خوام که اون مقداری که محازه (به اندازه UIN64 ) هست را نگهداره و Over Flow بقیه را بیرون بریزه .......برام خیلی مهم .....
نمی دونم که منظورم متوجه می شید یا نه ....؟؟؟
نقل قول:
نوشته شده توسط
صابر
عملیات ضرب رو توی یک try catch بذارین، اگه OverFlowException داد، مقدار a رو برابر با UInt64.MaxValue در نظر بگیرید.
در ضمن این کد در یک بلوک checked هم باید باشه تا نتیجه خراب نشه.
checked
{
try
{
a = a * b;
}
catch (OverflowException) {
a=UInt64.MaxValue;
}
:
}
نقل قول: ضرب دو عدد UInt64 ??????????????????
پس در این صورت checked رو به unchecked تبدیل کنید. در نهایت در متغیر a اون مقداری خواهد بود که شما دنبالش هستین.
نقل قول: ضرب دو عدد UInt64 ??????????????????
واقعا با این کار , من اون جوابی را که می خوام بدست می آورم ؟؟؟؟
نقل قول:
نوشته شده توسط
صابر
پس در این صورت checked رو به unchecked تبدیل کنید. در نهایت در متغیر a اون مقداری خواهد بود که شما دنبالش هستین.
نقل قول: ضرب دو عدد UInt64
امتحان کنید!
مثلاً در این برنامه:
UInt64 a = 10;
UInt64 b = UInt64.MaxValue ;
unchecked { a = a + b; }
در متغیر a مقدار ۹ قرار میگیرد که میتوانید آن را با ۱ جمع کنید و به عدد مورد نظرتان برسید.