如何使用Excel VBA将二进制字符串转换为整数位数组

时间:2011-03-13 09:28:31

标签: arrays string excel-vba binary vba

我正在努力解决这个问题,以便在我的Excel宏编码中解决。我的输入数据是二进制字符串'1110'。需要提取二进制字符串并将每个二进制位依次返回到数组中(作为整数位)。请帮助我...非常感谢教练的帮助。

对于每个位= 1,该位的数组值= 2的幂。最后,将所有值相加。例如:

输入= 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 个答案:

答案 0 :(得分:1)

从头顶不经测试,这会让你接近。

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

答案 1 :(得分:0)

您可以使用内置的Excel函数BIN2DEC(来自分析工具包)获得最终答案