Re: Как закодировать?

From
Oleg I. Khovayko ()
To
Alexander Chislov
Date
2002-10-02T23:06:34Z
Area
RU.ALGORITHMS
From: "Oleg I. Khovayko" <olegh@ncbi.nlm.nih.gov>


Интересно, полетит ли такой паровоз:

procedure printbin(x:integer)
begin
  repeat
    if x < 0 then write('1') else write('0');
    x := x * 2
  until x <> 0;
  writeln;
end;

По идее, вышеприведенная процедура должна integer печатать в двоичном формате...

PS:
Паскаля у меня нету, так что проверить сам не могу...


> и наоборот: двоичное перевести в десятичную
> форму.


type str=array[0..31] of char;

a эта функция - транслировать строку (полностью заполненную "0/1") в integer:

function readbin(var x:str): integer
begin
  var i, rc:integer;

  rc := 0;
  for i := 0 to 31 do
    begin
    rc := rc * 2;
    if x[i] = '1' then rc := rc + 1;
    end;

  readbin := rc;
end;

-- 
#include <best/regards.hpp>
Oleg I. KHOVAYKO  
(301)435-5885 || WEB: http://olegh.spedia.net
--- ifmail v.2.15dev5
 * Origin: National Center for Biotechnology Information (2:5020/400)