• 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

Điều hành viên: tungblt

thachbk
Bài viết: 5
Ngày tham gia: T.Năm 16/03/2017 9:48 pm
Has thanked: 1 time

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

Gửi bàigửi bởi thachbk » CN 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 ạ?



Hình đại diện của người dùng
xuanha
Guru
Guru
Bài viết: 1222
Ngày tham gia: T.Năm 19/08/2010 4:25 pm
Đến từ: Ban Tổ chức Thành uỷ Hưng Yên, tỉnh Hưng Yên
Has thanked: 13 time
Been thanked: 380 time
Liên hệ:

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

Gửi bàigửi bởi xuanha » T.Sáu 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

Mã: Chọn hết

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
Bài viết: 5
Ngày tham gia: T.Năm 16/03/2017 9:48 pm
Has thanked: 1 time

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

Gửi bàigửi bởi thachbk » T.Hai 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 ạ?


Quay về “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.9 khách