ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزشی الگوریتم تبدیل اعداد به مبنای دو



آبجی
10th May 2010, 11:29 PM
به این روش هم می شه بدون نیاز به برگردوندن:

کد:

کد:

#include<stdio.h>
int main()
{
int n,m=0,q=0;
long int s=0,l=1;
printf("\nEnter decimal number");
scanf("%d",&n);
do
{
q=n/2;
m=n%2;
s+=l*m;
n=q;
l=l*10;
}
while(n>1);
s=s+n*l;
printf("%ld",s);
}

باقیمانده ی اول رو در یک ضرب می کنیم دومی را در 10 سومی در 100 و .... و مقادیر را به یک متغیر مانند s اضافه می کنیم.
البته این روش اشکالاتی هم داره:
برای اعداد بزرگ به انواع عددی بزرگ نیاز هست.با int اعداد تا 31 ، با long int اعداد تا 1023 و با double اعداد تا 32767 قابل تبدیل اند.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد