|
|
1.1 ! root 1: # RADCON(2) ! 2: # ! 3: # Radix conversion procedures ! 4: # ! 5: # Ralph E. Griswold ! 6: # ! 7: # Last modified 5/29/83 ! 8: # ! 9: ! 10: ! 11: procedure exbase10(i,j) ! 12: static digits ! 13: local s, d, sign ! 14: initial digits := "0123456789" || &lcase ! 15: if i = 0 then return 0 ! 16: if i < 0 then { ! 17: sign := "-" ! 18: i := -i ! 19: } ! 20: else sign := "" ! 21: s := "" ! 22: while i > 0 do { ! 23: d := i % j ! 24: if d > 9 then d := digits[d + 1] ! 25: s := d || s ! 26: i /:= j ! 27: } ! 28: return sign || s ! 29: end ! 30: ! 31: procedure inbase10(s,i) ! 32: if s[1] == "-" then return "-" || integer(i || "r" || s[2:0]) ! 33: else return integer(i || "r" || s) ! 34: end ! 35: ! 36: procedure radcon(s,i,j) ! 37: return exbase10(inbase10(s,i),j) ! 38: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.