برای تشخیص زوج یا فرد بودن یک عدد اشاری در سی شارپ چه راهی وجود داره؟
0.2 زوج و 0.3 فرد و ...
عملگر % فقط در مورد اعداد صحیح کار میکنه؟
برای تشخیص زوج یا فرد بودن یک عدد اشاری در سی شارپ چه راهی وجود داره؟
0.2 زوج و 0.3 فرد و ...
عملگر % فقط در مورد اعداد صحیح کار میکنه؟
عمل زوج و فرد بودن مخصوص اعداد صحیحه! حالا اگر شما میخواین عملگر مخصوص خودتون رو تعریف کنید باید خودتون کدش رو بنویسید
اگر تعداد اعدادی که باید زوج یا فرد بودنشون چک بشه زیاد باشه، بهترین روش استفاده از کمارزشترین بیت عدده. با توجه به اینکه تمام اعداد فرد در مبنای دو به 1 ختم میشن، کافیه بررسی کنیم که بیت اول چیه. برای اینکار کافیه عدد رو با 1، bitwise & کنیم . ( بعد از تبدیل به عدد صحیح )
011011011 (یک عدد فرد)
000000001 AND
-------------------
000000001
if ( ( Num & 0x1 ) == 1 )
//is odd
else
//is even or zero
اگر دقت میکردید تمام مشکل اینجا مربوط به اعداد اعشاری بود! و راه حل شما هیچ ربطی به مساله نداشت!نوشته شده توسط یاشار
عرض کردم، زوج و فرد در مورد اعداد اعشاری معنی نداره. این مطلب رو به عنوان یک روش جالب برای تعیین کردن زوج و فرد بودن اعداد و در ادامه صحبت شما مطرح کردم، نه در رد حرفتون. شاید باید تو پست قبلی بیشتر توضیح میدادم. به هر حال اینقدر عصبانی شدن نداره. اینجا همه جمع شدیم از هم چیز یاد بگیریم.
وقتی تعداد اعداد زیاده تفاوت بین استفاده از % و بررسی پایینترین بیت کاملا محسوسه. بنابراین اگر دوستمون تصمیم گرفتن که به هر حال میخوان این اعداد رو به صحیح تبدیل کنند، پیشنهاد میکنم این روش رو هم امتحان کنن.
یاشار جان، ما خیلی مخلصیم! :لبخندسادهنوشته شده توسط یاشار
منظور بدی نداشتم! اصلا هم نمیخواستم لحن عصبانی داشته باشم!
فقط یه کم تو جواب دادن عجله کردم و پست خودم رو دوباره نخوندم!
خلاصه اش اینکه شرمنده اگر جور دیگه ای برداشت کردی
dim b as integer
سلام دوستان
ی سوال: (شاید خیلی ابتدایی باشه ولی ممنون میشم پاسخ بدین)
برای تشخیص صحیح(int) یا اعشاری (double) بودن یک داده باید از چه دستوری استفاده کنیم؟!
if (obj1 is int)
یا
if (obj1.GetType() == typeof(int))
یا
Type t = typeof(obj1);
if (t == typeof(int))
اینم منبع:
http://stackoverflow.com/questions/9...-gettype-or-is