PDA

نسخه کامل مشاهده نسخه کامل : چه جوری می شه یه آرایه بصورت باینری را معادل عددی اش را چاپ کرد ؟



mostafa_aa
07-03-2006, 12:21
یه سوال ؟

چه جوری می شه یه آرایه بصورت باینری را معادل عددی اش را چاپ کرد ؟

R£ɀД
07-03-2006, 15:46
مصطفي جان كاش يكم واضح تر مي نوشتي.
اگه منظور شما اين هست كه مثلا يك آرايه 4 عنصري داريم كه توي هر خونه آن عدد صفر و يا يك قرار گرفته بايد شما آرايه رو از آخر به اول پيمايش كني و هر خونه رو ضرب در 2 به توان 0 تا آخر ( تا تعداد عنصر آرايه بكني) و همزمان مقدار بدست آمده رو با يك متغيير جمع كرده و داخل همون متغيير بريزي.
مثلا براي 1011 اينطوري بايد عمل كني :
1×2 به توان صفر = 1
1×2 به توان يك = 2
0×2 به توان دو = 0
1× 2 به توان سه = 8

hamedvahedi
05-10-2007, 20:53
فرمولي که رضا گفت رو در for بينداز.در نهايت هم يک تابع ازش بنويس. چيز تميزي ميشه.

_H2_
07-10-2007, 10:52
سلام
واقعاً سوالتان گنگ است و زبان را هم مشخص نکرده اید، چون برای برخی کارها، بعضی زبانها رای میانبر دارند.

sherlockholmz
29-10-2007, 16:03
سوال خيلي كلي و گنگ است. علاوه برآنكه نوع زبان درخواستي را نگفتي، مشخص نيست اين آرايه ازكجا آمده ، چه طوري پر شده يا پر ميشود ، طول آن چقدر است و...:45:


ولي با فرض معين بودن طول آرايه برنامه زير در C عدد اعشاري ما به ازاي آرايه را محاسبه ونمايش ميدهد:




start: #include <stdio.h>
#include <stdio.h>
#define n ?

void main(void)
{int k,i,c=1,s,l[n+1];
s=0;
for(k=0;k<=n;k++)
{for(i=0;i<0;i++)c=c*2;
s=s+l[k]*c;
}
clrscr();
printf("%d",s);
getch();
}
end


به همين سادگي، به همين خوشمزگي
توضيح آنكه در خط سوم تعداد خانه هاي آرايه يا به عبارت ديگر چند بيتي بودن عدد باينري مشخص مي گرددو نكته دوم ،فرض شده است كه شما آرايه پر شده را در اختيار داريد.
اميدوارم به دردت بخورد.