TheAlgorithms-Ruby/maths/binary_to_decimal.rb
Vitor Oliveira e21120857d Clean up
2021-02-06 23:05:54 -08:00

24 lines
656 B
Ruby
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# For any binary number of n digits i.e dn-1 ... d3 d2 d1 d0
# The equivalent decimal number is equal to the sum of binary digits (dn) times their power of 2 (2n):
# decimal = d0×2^0 + d1×2^1 + d2×2^2 + ...
#
def binary_to_decimal(n)
decimal = 0
base = 1
until n.zero?
x = n % 10
n /= 10
decimal += x * base
base *= 2
end
decimal
end
puts 'Decimal value of 110011 is ' + binary_to_decimal(110_011).to_s
# Decimal value of 110011 is 51
puts 'Decimal value of 11110 is ' + binary_to_decimal(11_110).to_s
# Decimal value of 11110 is 30
puts 'Decimal value of 101 is ' + binary_to_decimal(101).to_s
# Decimal value of 101 is 5