Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Из дестячного дробного в двоичное дробное

26K
01 марта 2007 года
brat1k
1 / / 01.03.2007
Как из дестятичного дробного числа перевсти в двоичное дробное?
Из 10 обычного в двоичное легко сделать это я сделал, а как сделать дробное может кто подскажет?
Код:
Function Dec2Bin (num: word): String;
var result: string;
    remainder: word;
    c: char;
begin
     result := 0;
       p := 1;
       for i := length (S) downto 1 do
       begin
            bit := ord (S) - ord ('0');
            inc (result, bit * p);
            p := p * 2;                    { или   p := p shl 1 }
       end;
       Bin2dec:=result;
end;
var
a:integer;
begin
     readln(a);
     writeln (dec2bin (a));
     readln;
end.
257
01 марта 2007 года
kosfiz
1.6K / / 18.09.2005
[quote=brat1k]Как из дестятичного дробного числа перевсти в двоичное дробное?
Из 10 обычного в двоичное легко сделать это я сделал, а как сделать дробное может кто подскажет?[/quote]
1. на самом деле тоже ничего сложного. посмотри для начала вот эту ссылочку http://www.metodist.ru/iitdocs/baz/zan2/zan2.htm там доходчиво объясняется алгоритм перевода. смотри пункт 2.2.2. Перевод дробных чисел из одной системы счисления в другую. если поймешь что к чему программно это реализовать будет легко.
2. посмотри вот эту ссылку http://forum.codenet.ru/showpost.php?p=154222&postcount=5 там перевод в двоичное из десятичного помоему получше твоего будет + работает правильно и элегантнее.

P.S. код не предлагаю, так как считаю, что написать его ты сможешь и сам.

Добавлено позже:
а при указании result в переменных у тебя ошибка не вылазиет? вот из хелпа выдержка
[quote=]Result is implicitly declared in every function. Do not try to redeclare it.[/quote]
и вот еще строчка
 
Код:
var result: string;
.....
result := 0;

мало того, что ошибка с result, о которой я написал выше, но тут же несовместимость типов string и Integer. + ко всему не вижу объявления переменных bit, i и p, зато есть remainder и с, которые по коду вообще не встречаются. непонятно что такое s и откуда берется, куда пропадает num. код такой, какой он здесь представлен просто нерабочий.
7.0K
01 марта 2007 года
Rusd
88 / / 26.08.2006
[QUOTE=kosfiz] код не предлагаю, так как считаю, что написать его ты сможешь и сам. [/QUOTE]
Да просто лень наверное :)


Код:
function RealToBin(a:<>pointer):string; {<> уберите, а то ":p" расценивается как смайлик}
var i:^int64;
    j:byte;
begin
result:='';
i:=a;
for j:=1 to 64 do
  begin
  result:=intToStr(i^ and 1)+result;
  i^:=i^ shr 1;
  end;
end;


ф-ции передается указатель на переменную типа Real,например, Memo1.Lines.Add(RealToBin(@RealNumber)));
Не забывайте, что число представляется в нормализованном виде.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог