Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #**Methods by Narzew
- #**to_is => zamiana z systemu 10 na system Y
- #**from_is => zamiana z systemu Y na system 10
- def self.to_byte(x)
- x.to_s.each_byte{|x|
- return x
- break
- }
- end
- def self.absolute_value(x)
- if x > 0
- return x
- else
- return -x
- end
- end
- def self.to_is(x,y)
- r = ""
- x = absolute_value(x)
- while x > 0
- r << (x%y).chr
- x = x/y
- end
- r = r.to_s.reverse
- return r
- end
- def self.from_is(x,y)
- x = x.to_s
- r = 0
- x.size.times{|l|
- c = l+1
- a = y**c
- r += a*(to_byte(x[-c]).to_i)
- }
- return (r/y).to_i
- end
- def self.to_iscl(x,y)
- r = ""
- x = absolute_value(x)
- while x > 0
- r << (((x%y)+32)%256).chr
- x = x/y
- end
- r = r.to_s.reverse
- return r
- end
- def self.from_iscl(x,y)
- x = x.to_s
- r = 0
- x.size.times{|l|
- c = l+1
- a = y**c
- r += a*((to_byte(x[-c]-32)%256).to_i)
- }
- return (r/y).to_i
- end
- def self.to_int(x,y)
- a = from_is(x,256)
- b = to_is(a,y)
- return b
- end
- def self.from_int(x,y)
- a = from_is(x,10)
- b = to_is(a,256)
- return b
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement