diff --git a/lib/binary_to_decimal.rb b/lib/binary_to_decimal.rb index 439e8c6..126139f 100644 --- a/lib/binary_to_decimal.rb +++ b/lib/binary_to_decimal.rb @@ -4,6 +4,19 @@ # The least significant bit is at index 7. # Calculate and return the decimal value for this binary number using # the algorithm you devised in class. + def binary_to_decimal(binary_array) - raise NotImplementedError + total = 0 + index = 0 + size = binary_array.length + bit_value = size - 1 + + size.times do + element = binary_array[index] + total += element * (2**bit_value) + bit_value -= 1 + index+=1 + end + #convert to float (decimal) type. + return total.to_f end