• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

chuyển đôi số nhị phân sang thập phân

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Moderator: tungblt

thachbk
Posts: 5
Joined: Thu 16/03/2017 9:48 pm
Has thanked: 1 time

chuyển đôi số nhị phân sang thập phân

Postby thachbk » Sun 16/04/2017 4:11 pm


chào mọi người
hiện e có 1 chương trình chuyển đổi từ số nhị phân sang thập phân như sau:
Dim y As Long
Dim z As String

Function Bin2Dec(stringdata As String) As Long
Dim n As Integer
Dim a As Integer
Dim x As String
n = Len(stringdata) - 1
a = n
Do While n > -1
x = Mid$(stringdata, ((a + 1) - n), 1)
Bin2Dec = IIf((x = "1"), Bin2Dec + (2 ^ (n)), Bin2Dec)
n = n - 1
Loop
End Function

Private Sub cmdconvert_Click()
txtthap.Text = Str(y)

End Sub

Private Sub Form_Load()
z = txtnhi.Text
y = Bin2Dec(z)
End Sub

với thiết kế giao diện gồm 2 text box, txtnhi để nhập chuỗi nhị phân, txtthap để hiển thị kết quả, 1 button là cmdconvert để thực hiện thao tác chuyển đổi. Nhưng khi chạy thì kết quả luôn ra 0.
Bác nào giải thích giùm e được không ạ?



User avatar
xuanha
Guru
Guru
Posts: 1230
Joined: Thu 19/08/2010 4:25 pm
Location: Ban Tổ chức Thành uỷ Hưng Yên, tỉnh Hưng Yên
Has thanked: 13 times
Been thanked: 380 times
Contact:

Re: chuyển đôi số nhị phân sang thập phân

Postby xuanha » Fri 21/04/2017 1:12 pm

Bạn làm dài dòng quá, dài quá nên thừa và dẫn đến sai. Chỉ cần như dưới đây là đủ rồi

Code: Select all

Function Bin2Dec(stringdata As String) As Long
Dim n As Integer
Dim a As Integer
Dim x As String
n = Len(stringdata) - 1
a = n
Do While n > -1
x = Mid$(stringdata, ((a + 1) - n), 1)
Bin2Dec = IIf((x = "1"), Bin2Dec + (2 ^ (n)), Bin2Dec)
n = n - 1
Loop
End Function

Private Sub cmdconvert_Click()
txtthap.Text = Bin2Dec(txtnhi)
End Sub
Kiểm phiếu Đại hội Đoàn, Đại hội Đảng
http://caulacbovb.com/forum/viewtopic.php?t=23599

thachbk
Posts: 5
Joined: Thu 16/03/2017 9:48 pm
Has thanked: 1 time

Re: chuyển đôi số nhị phân sang thập phân

Postby thachbk » Mon 24/04/2017 10:18 am

oh được rồi nè, cảm ơn bác !
tiện cho e hỏi bác có code nào chuyển bin qua floating ko ạ?


Return to “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Who is online

Users browsing this forum: No registered users and 7 guests