TheAlgorithms-Ruby/maths/binary_to_decimal.rb
2021-02-03 22:58:43 +05:30

26 lines
695 B
Ruby
Raw 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.

=begin
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 + ...
=end
def binary_to_decimal(n)
decimal = 0
base = 1
until n.zero?
x = n % 10
n /= 10
decimal += x * base
base *= 2
end
return decimal
end
puts "Decimal value of 110011 is " + binary_to_decimal(110011).to_s
# Decimal value of 110011 is 51
puts "Decimal value of 11110 is " + binary_to_decimal(11110).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