我正在努力解决这个问题,以便在我的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
答案 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(来自分析工具包)获得最终答案