diff --git a/lib/binary_to_decimal.rb b/lib/binary_to_decimal.rb index 439e8c6..285162e 100644 --- a/lib/binary_to_decimal.rb +++ b/lib/binary_to_decimal.rb @@ -5,5 +5,11 @@ # 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 + decimal_sum = 0 + binary_array.each_with_index do |bit, index| + decimal = bit * 2**(binary_array.length - index - 1) + decimal_sum = decimal_sum + decimal + end + return decimal_sum end + diff --git a/lib/decimal_to_binary.rb b/lib/decimal_to_binary.rb new file mode 100644 index 0000000..dd9e437 --- /dev/null +++ b/lib/decimal_to_binary.rb @@ -0,0 +1,10 @@ +# converts a decimal number received as a parameter into an array of binary digits +def decimal_to_binary(decimal) + binary_array = [] + until decimal == 0 + binary_array << decimal % 2 + decimal = decimal / 2 + end + return binary_array.reverse +end +