diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..b14e30f Binary files /dev/null and b/.DS_Store differ diff --git a/lib/binary_to_decimal.rb b/lib/binary_to_decimal.rb index 439e8c6..e3d7087 100644 --- a/lib/binary_to_decimal.rb +++ b/lib/binary_to_decimal.rb @@ -1,9 +1,10 @@ -# A method named `binary_to_decimal` that receives as input an array of size 8. -# The array is randomly filled with 0’s and 1’s. -# The most significant bit is at index 0. -# 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 + exponent = binary_array.length - 1 + binary_array.length.times do |index| + total += binary_array[index] * (2 ** exponent) + exponent -= 1 + end + return total end