نمایش نتایج 1 تا 8 از 8

نام تاپیک: چطور می شه یک عدد را از مبنای 10 به مبنای 2 تبدیل کرد؟

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شیراز
    پست
    373

    Exclamation چطور می شه یک عدد را از مبنای 10 به مبنای 2 تبدیل کرد؟

    سلام
    برای تبدیل یک عدد از مبنای 10 به مبنای 2 باید چه کار کرد ؟

    برای این کار من چند حلقه (for & while) دارم که با تقسیم عدد اون را به مبنای 2 تبدیل می کنم. ولی یه مشکل که هست اینه که تویه محدودی int جا نمی شه و توی double هم درست در نمیات.
    خودتون می تونید امتحان کنید.
    مثلا این عدد را به مبنای 2 تبدیل کنید :
    8567512480000214547621547855521420214347

  2. #2

    Smile نقل قول: چطور می شه یک عدد را از مبنای 10 به مبنای 2 تبدیل کرد؟

    با سلام ،

    عدد رو string در نظر بگیر ، و هر دفعه که تقسیم بر دو می کنی اونو تو یه آرایه ذخیره کن ،

    اون وقت دیگه مشکل محدوده نداری و میتونی آرایه رو تو یه string ذخیره کنی و اونو تو

    تکست باکس نشون بدی !!

  3. #3
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639

    نقل قول: چطور می شه یک عدد را از مبنای 10 به مبنای 2 تبدیل کرد؟

    با این:
    public static string ConvertBase(string num, int sourceBase, int desctinationBase)
    {
    return Convert.ToString(Convert.ToInt32(num, sourceBase), desctinationBase);
    }
    مثلا:
    public static string ToBin(this int num)
    {
    return ConvertBase(num.ToString(), 10, 2);
    }

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شیراز
    پست
    373

    نقل قول: چطور می شه یک عدد را از مبنای 10 به مبنای 2 تبدیل کرد؟

    نقل قول نوشته شده توسط salar_cpp_cs مشاهده تاپیک
    با سلام ،

    عدد رو string در نظر بگیر ، و هر دفعه که تقسیم بر دو می کنی اونو تو یه آرایه ذخیره کن ،

    اون وقت دیگه مشکل محدوده نداری و میتونی آرایه رو تو یه string ذخیره کنی و اونو تو

    تکست باکس نشون بدی !!
    چطوری؟ مگه می شه string را بر 2 تقسیم کرد!؟
    اگر می شه یه نمونه کد یا نمونه برنامه بزارید.



    نقل قول نوشته شده توسط mohammad272005 مشاهده تاپیک
    با این:
    public static string ConvertBase(string num, int sourceBase, int desctinationBase)
    {
    return Convert.ToString(Convert.ToInt32(num, sourceBase), desctinationBase);
    }
    مثلا:
    public static string ToBin(this int num)
    {
    return ConvertBase(num.ToString(), 10, 2);
    }
    ممنون از راهنمایی. ولی بالا گفتم که محدودی int عدد را قبول نمی کنه و double هم درست جواب نمی ده

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1386
    محل زندگی
    سحابي #C ستاره ي Java
    پست
    192

    نقل قول: چطور می شه یک عدد را از مبنای 10 به مبنای 2 تبدیل کرد؟

    بابا نياز به در نظر گرفتن محدوده ي int نداره كه. شما عدد رو به صورت <<string>> داري به تابع Convert.ToInt32 پاس ميدي پس علناً عددي در كار نيست همش كار با رشته است.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شیراز
    پست
    373

    نقل قول: چطور می شه یک عدد را از مبنای 10 به مبنای 2 تبدیل کرد؟

    نقل قول نوشته شده توسط yasercomeng مشاهده تاپیک
    بابا نياز به در نظر گرفتن محدوده ي int نداره كه. شما عدد رو به صورت <<string>> داري به تابع Convert.ToInt32 پاس ميدي پس علناً عددي در كار نيست همش كار با رشته است.
    yasercomeng جان شما یکبار امتحان کنید متوجه منظور من می شید.
    وقتی از دستور Convert.ToInt32 استفاده می کنم مگه که عدد شما بیش از محدودی int است.
    خواهشا اول خودتون یه امتحانی بکنید و اگر می شه نمونه کد بدید.
    مرسی

  7. #7
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044

    نقل قول: چطور می شه یک عدد را از مبنای 10 به مبنای 2 تبدیل کرد؟

    نکاهی به فرم کلی متد ToString از کلاس Convert بکنید

    http://msdn.microsoft.com/en-us/libr...ng(VS.71).aspx


    string binValue = Convert.ToString(6, 2);
    int intValue = Convert.ToInt32("110", 2);
    MessageBox.Show("bin: " + binValue.ToString());
    MessageBox.Show("int: " + intValue.ToString());


  8. #8
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شیراز
    پست
    373

    نقل قول: چطور می شه یک عدد را از مبنای 10 به مبنای 2 تبدیل کرد؟

    نقل قول نوشته شده توسط سار مشاهده تاپیک
    نکاهی به فرم کلی متد ToString از کلاس Convert بکنید

    http://msdn.microsoft.com/en-us/libr...ng(VS.71).aspx


    string binValue = Convert.ToString(6, 2);
    int intValue = Convert.ToInt32("110", 2);
    MessageBox.Show("bin: " + binValue.ToString());
    MessageBox.Show("int: " + intValue.ToString());
    سلام
    ببینید این کدی که شما می گید محدودیت داره
    خودتون می تونید امتحان کنید :


    string binValue = Convert.ToString(9999999999999999999999999999999999999999 999999, 2);

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •