[Back to NUMBERS SWAG index]  [Back to Main SWAG index]  [Original]

{
 AE> numbersystem... When you want to create something in RIP you
 AE> first need to write some calculator to translate normal numbers
 AE> to RIP codes...

It's not that difficult, you know how to convert hex -> normal and
normal -> hex? Well, then you also can convert mega -> normal and normal
-> mega

little idea:
}

function word2mega(w:word):string;
const    table:array[0..35] of char='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var      s:string;
begin
  s:='';
  while w>0 do
  begin
    s:=table[w mod 36]+s;
    w:=w div 36;
  end;
  while length(s)<4 do s:='0'+s;
  word2mega:=s;
end;

function mega2word(s:string):word;
var      w:word;
begin
  w:=0;
  if length(s)<5 then
    while s<>'' do
    begin
      if s[1]>'9' then
        w:=w*36+ord(s[1])-ord('A')+10
      else
        w:=w*36+ord(s[1])-ord('0');
      delete(s,1,1);
    end;
  mega2word:=w;
end;


var    n:word;
        s:string;
begin
  s:=paramstr(1);
  for n:=1 to length(s) do
    s[n]:=upcase(s[n]);
  writeln('mega2word: ',mega2word(s));
  val(s,n,n);
  writeln('word2mega: ',word2mega(n));
end.

converts a meganum to a word and a word to a meganum in one program!
(Just one program so I don't have to think in which way it has to be
converted)

mega 12<cr> gives
mega2word: 38
word2mega: 0C

mega 1C<cr> gives
mega2word: 48
word2mega: 00


[Back to NUMBERS SWAG index]  [Back to Main SWAG index]  [Original]