From 536e48ad3e53bb5f054839e928a1631dcd662fcf Mon Sep 17 00:00:00 2001 From: Karla Guadron Date: Tue, 26 Feb 2019 21:09:51 -0800 Subject: [PATCH] Created one method to generate a binary number, one method that calculates the conversion, and one method that outputs the conversion --- lib/binary_to_decimal.rb | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/lib/binary_to_decimal.rb b/lib/binary_to_decimal.rb index 439e8c6..39d36f5 100644 --- a/lib/binary_to_decimal.rb +++ b/lib/binary_to_decimal.rb @@ -4,6 +4,32 @@ # 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 + +def generate_binary + binary_array = [] + 8.times do + binary_array << rand(0..1) + end + return binary_array end + +def binary_to_decimal(array) + exponent = 0 + index = -1 + score = 0 + + array.length.times do + score += (1 * (2 ** exponent)) if array[index] == 1 + index -= 1 + exponent += 1 + end + return score +end + +def convert + this_binary = generate_binary + puts "#{this_binary.join} in decimal system is #{binary_to_decimal(this_binary)}" +end + + +convert \ No newline at end of file