PDA

View Full Version : مقاله: تبدیل عددی از مبنای دلخواه به مبنای دلخواه دیگر



Salar Ashgi
سه شنبه 22 مرداد 1387, 22:28 عصر
سلام دوستان ، این برنامه ای است که تو سی شارپ نوشتم ، و برای تبدیل عددی از

هر مبنایی به هر مبنایی دیگر نوشته شده است ، امید است مورد قبول عزیزان قرار گیرد،

صمیمانه منتظر نظرات عزیزان هستم !!!!:لبخندساده:

Amir Oveisi
سه شنبه 22 مرداد 1387, 23:25 عصر
دوست عزیز نمونه برنامه هاتونو که نوشتین رو بذارید تو اعلان، تاپیک نمونه برنامه های کوچک (http://barnamenevis.org/forum/showthread.php?t=64210)
موفق باشید
jooje

h.jaza
سه شنبه 22 مرداد 1387, 23:26 عصر
برنامه ی خوبی بود ولی چند تا نکته بود که اگر توشون رعایت کنی، برنامت بهتر میشه.
اولا اینکه بعد از محاسبه کردن یه عدد، اگر من دوباره تبدیل مبنا رو بزنم، مقدار حاصل رو پاک نمی کنه و به عدد قبلی اضافه می کنه که فکر می کنم این یه مشکلشه.
دومی هم اینه که مبنا های بیشتر از 10 رو به همون صورت نشون می ده و این برای برگردوندنش باعث مشکل وسه برنامت میشه. مثلا عدد 15 در مبنای 16 معادل F هست نه 1 و 5 کناره هم دیگه.
ولی در کل برنامه ی خوبی بود.
یه نظر شخصی هم بدم و اونم اینکه اگر UI ای که استفاده می کنی یکم professional تر باشه، لااقل کلاس Visual Studio 2008 Orcas یکم بیشتر حفظ می شه.
البته می تونی خیلی جدی نگیری...:چشمک:

man_iran
سه شنبه 22 مرداد 1387, 23:27 عصر
سلام
برنامه خوبیه
من هم چند روز پیش دنبال روشی برای تبدیل مبنا برای اعداد بزرگ (به صورت نامحدود) بودم. ولی نیافتم.
برنامه شما هم چنین مشکل را داره برای مثال می تونید یه عدد خیلی بزرگ را وارد کنید ان وقت متوجه می شید.

سار
چهارشنبه 23 مرداد 1387, 07:24 صبح
من این نمونه کد را اونجا هم نوشتم، آیا کار نکرد؟


long a = 999999999999999999;
string b = Convert.ToString(a, 2);
Console.WriteLine(b);
Console.WriteLine(Convert.ToString(a, 8));
Console.WriteLine(Convert.ToString(a, 16));
Console.ReadKey();

man_iran
پنج شنبه 24 مرداد 1387, 00:51 صبح
من این نمونه کد را اونجا هم نوشتم، آیا کار نکرد؟


long a = 999999999999999999;
string b = Convert.ToString(a, 2);
Console.WriteLine(b);
Console.WriteLine(Convert.ToString(a, 8));
Console.WriteLine(Convert.ToString(a, 16));
Console.ReadKey();


سلام
من توی انجا هم گفتم ولی متاسفانه به نتیجه نرسیدیم.
ببینید وقتی شما در خط دوم از دستور تبدیل به استرینگ استفاده می کنید. دو داده ورودی از شما می خواد اگر هم به توضیحات خود سی شارپ هم توجه کنید یکی از آن یعنی a به صورت long گرفته می شه و دومی هم مبنای عدد تبدیل شده.
حالا اگه یه عددی به ان بدید که بیشتر از محدوده long باشه حتما ارور می ده
برای امتحان خودتون می تونید تست کنید یه عدد بسیار بزرگ بدید ان وقت متوجه می شید.

فکر کنم یکی از راه ها استفاده از روشی شبیه استرینگ است. (این را یکی از دوستان همین تالار گفت) چون محدودیت نداره
حالا چطوری نمی دونم!
اگر کسی می دونه راهنمایی کنه

سار
پنج شنبه 24 مرداد 1387, 08:34 صبح
یعنی عددی بزرگتر از 999999999999999999 رو میخوای تبدیل کنی؟!!!!!!!!!!!!!!!!
پس اون دوست عزیز درست راهنمایی کرده

Salar Ashgi
پنج شنبه 24 مرداد 1387, 08:42 صبح
سلام ، خدمت دوستان عرض کنم که این برنامه فقط یه نسخه آزمایشی بود و می دونم که

اعداد خیلی بزرگ رو ساپورت نمی کنه ، ولی الان دارم تکمیلش می کنم و یه فرمول ریاضی

واسه اینکه اگه عددی تو یه مبنا n رقم داشته باشه ، تو مبنای دیگه چند رقم داره(و...) ، و

کل کار برنامه بر روی String ها انجام میشه بوسیله سربارگذاری عملگرها !!! و تست هم

کردم برنامه تعداد ارقام بالای 20 رو هم کامل جواب میده ، انشاالله بزودی خواهم گذاشت !!!

********:لبخندساده:********
ممنون و متشکر !!!

man_iran
پنج شنبه 24 مرداد 1387, 10:11 صبح
بوسیله سربارگذاری عملگرها !!!


سلام و ممنون
می شه در این مورد توضیح بدید. یعنی چطور می شه از این روش استفاده کرد ؟

Salar Ashgi
پنج شنبه 24 مرداد 1387, 11:19 صبح
سلام و ممنون
می شه در این مورد توضیح بدید. یعنی چطور می شه از این روش استفاده کرد ؟

________________________

انشاالله در نرم افزار خواهید دید !!!

alimh123
یک شنبه 14 مهر 1387, 11:00 صبح
سلام ، خدمت دوستان عرض کنم که این برنامه فقط یه نسخه آزمایشی بود و می دونم که

اعداد خیلی بزرگ رو ساپورت نمی کنه ، ولی الان دارم تکمیلش می کنم و یه فرمول ریاضی

واسه اینکه اگه عددی تو یه مبنا n رقم داشته باشه ، تو مبنای دیگه چند رقم داره(و...) ، و

کل کار برنامه بر روی String ها انجام میشه بوسیله سربارگذاری عملگرها !!! و تست هم

کردم برنامه تعداد ارقام بالای 20 رو هم کامل جواب میده ، انشاالله بزودی خواهم گذاشت !!!

********:لبخندساده:********
ممنون و متشکر !!!


سلام
آیا برنامه شما برای اعداد اعشاری هم قابل استفاه هست؟
با تشکر

123Mahboob
جمعه 14 آبان 1395, 08:11 صبح
کجاس نیس نمونه کد

orman1372
سه شنبه 18 آبان 1395, 18:15 عصر
سلام دوستان ، این برنامه ای است که تو سی شارپ نوشتم ، و برای تبدیل عددی از

هر مبنایی به هر مبنایی دیگر نوشته شده است ، امید است مورد قبول عزیزان قرار گیرد،

صمیمانه منتظر نظرات عزیزان هستم !!!!:لبخندساده:

میشه کد این برنامه رو بدید؟
از دانشگاه ازم خواستن و من ازش هیچی بلد نیستم
:افسرده::افسرده::گریه::گریه:

Mohammadsamandar
جمعه 31 فروردین 1397, 11:32 صبح
من چطور میتونم برنامه رو ببینم گزینه ای واسه دیدن برنامه پیدا نمیکنم