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
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.