Чтение и изменение бита в числе - VB
Формулировка задачи:
Доброго времени суток!
Столкнулся с такой проблемой - через СOM порт от контроллера получаю массив байт данных, сохраняю их в виде переменной Double.
Каждый установленный бит в числе имеет смысловую нагрузку. Вопрос -каким образом можно обращаться к отдельным битам в числе (Аналог команды в ассемблере setb Acc.N (установить бит N в "1") и clr Acc.N (установить бит N в "0")). Пока что додумался только до преобразования полученного числа в бинарный вид при помощи функции
Листинг программы
- Case Is = 2
- intInf(0) = Asc(MSComm1.Input) '
- intInf(1) = Asc(MSComm1.Input) '
- intInf(2) = Asc(MSComm1.Input) '
- intInf(3) = Asc(MSComm1.Input) '
- ' и т.д
Листинг программы
- Public Function ToBin(ByVal bByte As Byte) As String
- Dim i As Integer
- For i = 0 To 7
- If bByte And 2 ^ i Then
- ToBin = 1 & ToBin
- Else
- ToBin = 0 & ToBin
- End If
- Next i
- End Function
Решение задачи: «Чтение и изменение бита в числе»
textual
Листинг программы
- Private Sub Form_Load()
- Dim b As Long
- Dim index As Long
- ' Работаем с 3-м битом (индексация от 0)
- index = 3
- ' Установить бит
- b = b Or (2 ^ index)
- ' Сбросить бит
- b = b And Not (2 ^ index)
- ' Инвертировать бит
- b = b Xor (2 ^ index)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д