Как преобразовать двоичную строку в массив целочисленных бит, используя Excel VBA - PullRequest
1 голос
/ 13 марта 2011

У меня возникла проблема с решением этой проблемы в макросе Excel.Мои входные данные - это двоичная строка «1110».Необходимо извлечь двоичную строку и вернуть каждый бит двоичной последовательности в массив (как целочисленный бит).Пожалуйста, помогите мне ... действительно ценю помощь для коучинга.

Для каждого бита = 1, значение массива для этого бита = Степень 2. В конце сложите все значения.Пример:

Input = 1110 (двоичная строка) сохранить в Array (i).i = 3 (суммарный бит от входа = 4)

Array (0) = 1^2 to the pwr of 0 = 1
Array (1) = 1^2 to the pwr of 1 = 2
Array (2) = 1^2 to the pwr of 2 = 4
Array (3) = 1^2 to the pwr of 3 = 8

Окончательный результат, который должен быть возвращен, является суммированием всего списка массивов. В этом случае это будет 15

Ответы [ 2 ]

1 голос
/ 13 марта 2011

От вершины моей головы без тестирования это приблизит вас.

Dim bin as String

bin="1101"

Dim bits(Len(bin)) as Integer

Dim bitIndex as Integer

Dim sum as Integer
sum = 0
For bitIndex = 0 to Len(bin)-1
  bits(bitIndex) = CInt(Mid(bin,bitIndex+1, 1)) * (2 ^ bitIndex)
  Debug.Print bits(bitIndex)
  sum = sum + bits(bitIndex) 
Next

Debug.Print sum
0 голосов
/ 13 марта 2011

Вы можете получить окончательный ответ, используя встроенную функцию Excel BIN2DEC (из набора инструментов анализа)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...