From 253e93219e6873e65bb1c8a737f303e6c5ac59b7 Mon Sep 17 00:00:00 2001 From: Kate Sandler Date: Thu, 28 Feb 2019 12:31:06 -0800 Subject: [PATCH] Operational algorithm --- lib/binary_to_decimal.rb | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/binary_to_decimal.rb b/lib/binary_to_decimal.rb index 439e8c6..38c7bca 100644 --- a/lib/binary_to_decimal.rb +++ b/lib/binary_to_decimal.rb @@ -1,9 +1,13 @@ -# 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 -end + stars = '' + integers = [] + binary_array.reverse_each do |digit| + if digit == 0 + stars << "*" + elsif digit == 1 + integers << 2**stars.length + stars << "*" + end + end +integers.reduce(:+) +end \ No newline at end of file