двоичная система

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Priest
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 19.10.2002 (Сб) 12:39

двоичная система

Сообщение Priest » 17.09.2003 (Ср) 8:18

Допустим что число n 0 десятично, надо его перевести в двоичное по средствам VB 6.0 и наоборот...

Aleksej
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 191
Зарегистрирован: 03.06.2003 (Вт) 9:58

Сообщение Aleksej » 17.09.2003 (Ср) 9:04

Попробуй так:
Код: Выделить всё
Private Function ConvertToBinary(ByVal lngQuotient As Long) As String

    Dim strBinary As String
    Dim strReturn As String
    Dim i As Integer

    i = 100
    strBinary = String(i, "0")
   
    Do While lngQuotient
       
        Mid(strBinary, i, 1) = CStr(lngQuotient Mod 2)
       
        lngQuotient = lngQuotient \ 2
       
        i = i - 1
    Loop
    strReturn = Right(strBinary, 100 - i)
       
    ConvertToBinary = strReturn
End Function

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.09.2003 (Ср) 9:42

Ого :)
Зачем буфер большой сразу :)
Лучше потихонечку :)


Код: Выделить всё
Private Function Bin(ByVal num As Long) As String
  Dim i As Long
 
  For i = 0 To num
    If 2 ^ i > num Then Exit For
    Bin = IIf(num And 2 ^ i, "1", "0") + Bin
  Next
 
  If Len(Bin) = 0 Then Bin = "0"
End Function
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Priest
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 19.10.2002 (Сб) 12:39

...

Сообщение Priest » 17.09.2003 (Ср) 10:52

Фенькс за то что быстро ответили, всё отлично, всё работает... переводит из десятичной в двоичну... но всё былобы ещё лучше, еслиб вы предложили и обратную функцию... чтоб из двоичной в десятичную...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.09.2003 (Ср) 17:34

'На форме кнопка cmdStart и текстовое поле txtBin
'НЕТ проверки на правильность ввода двоичного числа...


Public Function BinToDex(Bin As String) As Long
Dim i As Long
For i = 1 To Len(Bin)
BinToDex = BinToDex + CLng(Mid$(Bin, i, 1)) * 2 ^ (Len(Bin) - i)
Next i
End Function

Private Sub cmdStart_Click()
MsgBox BinToDex(txtBin.Text)
End Sub


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 7

    TopList