ورود

View Full Version : سوال: تبدیل مبنا در ویژوال بیسیک



ashkandehnavi
دوشنبه 12 دی 1390, 10:41 صبح
سلام
میخوام برنامه ای که عدد مبنای ده رو به مبنای دلخواه ببره (مبنای زیره ده)
باید چیکار کنم؟ اگه کدش رو دارید ممنون میشم بهم بدید
با تشکر

_behnam_
دوشنبه 12 دی 1390, 11:25 صبح
سلام.
اینجا (http://forum.majidonline.com/showthread.php?t=92992) یه سر بزنید

ashkandehnavi
دوشنبه 12 دی 1390, 16:45 عصر
سلام.
اینجا (http://forum.majidonline.com/showthread.php?t=92992) یه سر بزنید

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

MP.C-Writer
دوشنبه 12 دی 1390, 22:33 عصر
سلام دوست عزیز. این کار خیلی ساده است. کافیه همون کاری رو بکنی که توی تغییر مبنای معمولی انجام می دیم. تقسیم های متوالی:



'In the name of God
Option Explicit

Dim i As Integer

Private Function ChBase(a As Double, b As Integer) As Double

Dim ch As Integer

While a > 0

ch = a Mod b
a = a \ b

ChBase = ((10 ^ i) * ch) + ChBase
i = i + 1

Wend

End Function

Private Sub Command1_Click()

i = 0
Text2 = ChBase(CDbl(Text1), CInt(Text2))

End Sub

ashkandehnavi
سه شنبه 13 دی 1390, 21:22 عصر
سلام دوست عزیز. این کار خیلی ساده است. کافیه همون کاری رو بکنی که توی تغییر مبنای معمولی انجام می دیم. تقسیم های متوالی:



'In the name of God
Option Explicit

Dim i As Integer

Private Function ChBase(a As Double, b As Integer) As Double

Dim ch As Integer

While a > 0

ch = a Mod b
a = a \ b

ChBase = ((10 ^ i) * ch) + ChBase
i = i + 1

Wend

End Function

Private Sub Command1_Click()

i = 0
Text2 = ChBase(CDbl(Text1), CInt(Text2))

End Sub







ممنون از راهنماییت مشکلم حل شد :لبخندساده:

Razor2012
چهارشنبه 14 دی 1390, 15:20 عصر
این option که اول کد نوشته شده چه نقشی داره و کجا باید نوشته بشه ؟

SlowCode
چهارشنبه 14 دی 1390, 18:46 عصر
نقش اون(Option Explicit) اینه که اجازه نمیده از متغیر تعریف نشده استفاده کنی، باید تو قسمت General(بالاتر از همه کدها) بنویسی.

Razor2012
چهارشنبه 14 دی 1390, 19:05 عصر
کد راحت تر از این هم هست ؟

ashkandehnavi
چهارشنبه 14 دی 1390, 19:46 عصر
کد راحت تر از این هم هست ؟
این کدیه که خودم نوشتم


Dim x(20) As Integer
adad = Text1.Text
mabna = text2.text
Do While adad >= 1
i = i + 1
x(i) = adad Mod mabna
adad = adad \ mabna
Loop
For i = 20 To 1 Step -1
Label2.Caption = Label2.Caption & x(i)
Next i