Чтение и изменение бита в числе - VB

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Столкнулся с такой проблемой - через СOM порт от контроллера получаю массив байт данных, сохраняю их в виде переменной Double.
Листинг программы
  1. Case Is = 2
  2. intInf(0) = Asc(MSComm1.Input) '
  3. intInf(1) = Asc(MSComm1.Input) '
  4. intInf(2) = Asc(MSComm1.Input) '
  5. intInf(3) = Asc(MSComm1.Input) '
  6. ' и т.д
Каждый установленный бит в числе имеет смысловую нагрузку. Вопрос -каким образом можно обращаться к отдельным битам в числе (Аналог команды в ассемблере setb Acc.N (установить бит N в "1") и clr Acc.N (установить бит N в "0")). Пока что додумался только до преобразования полученного числа в бинарный вид при помощи функции
Листинг программы
  1. Public Function ToBin(ByVal bByte As Byte) As String
  2. Dim i As Integer
  3. For i = 0 To 7
  4. If bByte And 2 ^ i Then
  5. ToBin = 1 & ToBin
  6. Else
  7. ToBin = 0 & ToBin
  8. End If
  9. Next i
  10. End Function

Решение задачи: «Чтение и изменение бита в числе»

textual
Листинг программы
  1. Private Sub Form_Load()
  2.     Dim b As Long
  3.     Dim index As Long
  4.     ' Работаем с 3-м битом (индексация от 0)
  5.    index = 3
  6.     ' Установить бит
  7.    b = b Or (2 ^ index)
  8.     ' Сбросить бит
  9.    b = b And Not (2 ^ index)
  10.     ' Инвертировать бит
  11.    b = b Xor (2 ^ index)
  12.    
  13. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы