PDA

نسخه کامل مشاهده نسخه کامل : کمک فوری کسی می دونه این برنامه چجوری کار میکنه



bermoda_khatar69
01-01-2010, 17:55
با سلام

این سورس یه برنامه هستش که عدد رو از مبنای 2 از کاربر دریافت می کنه و به مبنای 10 تبدیل می کنه حالا خواهشی که من از شما دارم اینه که به اگر کسی می تونه به من بگه که این برنامه چطوری کار میکنه مثلا بگه که در خط دو فلان کار رو می کنه و در خط سه هم این کار رو و الی آخر

این هم کد برنامه



Private sub command 1_click()
N = val (text1.text)
D = 0
P = 0
While n<>0
M = n mod 10
D= d+ m*2^p
P = p +1
N = n\10
Wend
Label1.caption = d
End sub



ممنون می شم اگر کسی به من کمک کنه

roya_borhany
01-01-2010, 18:55
N = val (text1.text

رشته دریافتی را به عدد تبدیل می کند


While n<>0

بررسی میکند عدد به صفر نرسد


M = n mod 10

در هر بار عدد را تقسیم بر 10 میکند تا ارقام را از هم جدا کند و




D= d+ m*2^p


طبق فرمول تبدیل مبنا تک تک اعداد را به توان می رساند و مجموع را محاسبه می کند


P = p +1


چون در فرمول هر بار یک مقدار به توان اضافه می شود پس به مقدار توان اضافه کن


N = n\10


حالا عدد خارج قسمتی که باقی مانده را محاسبه می کند


wend

مراحل را تکرار کن تا عدد به صفر برسد

a_mohammadi_m
19-01-2010, 07:55
با سلام
تبيدل به اين صورت اتفاق مي افته كه هر عدد در ارزش مكاني خوش ضرب شده و با نتيجه بقيه ضربها جمع ميشه
ارزش مكاني هم اينطوريه
يكان دو گان چهارگان هشت گان شانزده گان .....
هر مكان ارزشش دو برابر مكان سمت راستش هست ( چون مبنا 2 است ، در مبناي 10 اين ارزش 10 برابر مكان سمت راسته )


البته من تست نكردم ولي احتمالا برنامه بالا خيلي درست عمل نكنه!!!