From d338f9d5c92f96df1db9c59878ea49df0228aea9 Mon Sep 17 00:00:00 2001 From: emaust Date: Wed, 4 Sep 2019 17:02:58 -0700 Subject: [PATCH] Finished product --- lib/binary_to_decimal.rb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/binary_to_decimal.rb b/lib/binary_to_decimal.rb index 439e8c6..f8a8fd5 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 + exponent = binary_array.length - 1 + decimal_value = 0 + + binary_array.each_with_index do |value, index| + decimal_value += value * (2 ** exponent - index) + end + return decimal_value end