#!/usr/bin/ruby dec = ARGV[0].to_i bin = [] i = 0 while dec >= 1 bin[i] = dec % 2 dec /= 2 i += 1 end print bin.reverse, "\n" |
dec2hex.rb
#!/usr/bin/ruby
dec = ARGV[0].to_i
hex = []
i = 0
while dec >= 1
hex[i] = dec % 16
dec /= 16
i += 1
end
for j in 0..hex.size
case hex[j]
when 10
hex[j] = "A"
when 11
hex[j] = "B"
when 12
hex[j] = "C"
when 13
hex[j] = "D"
when 14
hex[j] = "E"
when 15
hex[j] = "F"
end
end
print hex.reverse, "\n"
|
bin2dec.rb
#!/usr/bin/ruby bin = ARGV[0].split(//).reverse dec = 0 for i in 0...bin.size dec += bin[i].to_i * 2**i end print dec, "\n" |
hex2dec.rb
value = ARGV[0].split(//).reverse
result = 0
for i in 0...value.size
if value[i] =~ /[0-9]/
value[i] = value[i].to_i
elsif
case value[i]
when "a"
value[i] = 10
when "b"
value[i] = 11
when "c"
value[i] = 12
when "d"
value[i] = 13
when "e"
value[i] = 14
when "f"
value[i] = 15
end
end
result += value[i]*16**i
end
puts result
|
bin2hex.rb
#!/usr/bin/ruby
bin = ARGV[0].split(//).reverse
dec = 0
for i in 0...bin.size
dec += bin[i].to_i * 2**i
end
hex = []
i = 0
while dec >= 1
hex[i] = dec % 16
dec /= 16
i += 1
end
for j in 0..hex.size
case hex[j]
when 10
hex[j] = "A"
when 11
hex[j] = "B"
when 12
hex[j] = "C"
when 13
hex[j] = "D"
when 14
hex[j] = "E"
when 15
hex[j] = "F"
end
end
print hex.reverse, "\n"
|
$ ruby dec2bin.rb 123456
のように入力します.
| Back |