تبدیل عدد مبنای 10 به باینری - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تبدیل عدد مبنای 10 به باینری

+3 امتیاز
سلام.

برای تبدیل عدد مبنای 10 به مبنای 2 تابعی وجود داره ؟
سوال شده اردیبهشت 4, 1393  بوسیله ی سعید (امتیاز 92)   5 16 22
دوباره تگ گذاری شد اردیبهشت 6, 1393 بوسیله ی BlueBlade

4 پاسخ

+4 امتیاز
 
بهترین پاسخ

از کلاس bitset استفاده کنید.

#include <bitset>
int _tmain(int argc, _TCHAR* argv[])
{
	int num = 1023;
  cout << bitset<8>(num) << endl;
  cout << bitset<numeric_limits<unsigned short>::digits>(num) << endl;
	return 0;
}

 

پاسخ داده شده اردیبهشت 4, 1393 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد اردیبهشت 11, 1393 بوسیله ی BlueBlade
+4 امتیاز

نمیدونم تابعی هست یا نه ولی خودت هم میتونی کدشو بزنی

اینم کدش:

#include <iostream>
using namespace std;
int makos(int n);
int main()
{
    int num,result=0,d=1,temp;
    cin>>num;
    temp=num;
    while(temp%2==0){
        d*=10;
        temp/=10;
    }
    while(num>=2)
    {
        result=result*10+num%2;
        num/=2;
    }
    result=result*10+num;
    cout<<"Result is:"<<'\t'<<result*d;
    return 0;
}
int makos(int n)
{
    int sum=0;
    while(n!=0)
    {
        sum=sum*10+n%10;
        n/=10;
    }
    return sum;
}


 

پاسخ داده شده اردیبهشت 4, 1393 بوسیله ی senator77 (امتیاز 226)   5 14 25
+5 امتیاز

به این شکل هم میتونین زمان کامپایل این کارو انجام بدین :

#include <iostream>

template <unsigned long N>
struct Binary
{
    enum{value =  Binary<N/2>::value *10 + N%2 };
};

template <>
struct Binary<0> //end
{
    enum { value=0};
};

int main()
{
    const unsigned number=Binary<5>::value;
    std::cout<<number;
    return 0;
}

 

پاسخ داده شده اردیبهشت 4, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
+1 امتیاز

برنامه تبدیل عدد از مبنای ده به مبنای دو به کمک آرایه.

پاسخ داده شده خرداد 11, 1393 بوسیله ی امیدوار (امتیاز 872)   21 63 76
دوباره نشان داده شد تیر 4, 1393 بوسیله ی امیدوار
...