Главная
Дисциплины (2009-2010)
Дисциплины (2010-2011)
Разное
Популярные

Арифметические алгоритмы: моделирование сложения двоичных чисел:

{ арифметические алгоритмы: моделирование сложения двоичных чисел          }
{ ------------------------------------------------------------------------ }

var sr, sf, ss: string;

function BinAdd(s1, s2: string): string;
var
    s: string;
    l, i, d, carry: byte;
begin
    {выравнивание строк по длине}
    if length(s1) > length(s2) then while length(s2) < length(s1) do s2 := '0' + s2
                               else while length(s1) < length(s2) do s1 := '0' + s1;
    l := length(s1);
    s := '';
    carry := 0;
    for i := l downto 1 do begin
       d := (ord(s1[i]) - 48) + (ord(s2[i]) - 48) + carry;
       carry := d div 2;
       d := d mod 2;
       s := chr(d + 48) + s;
    end;
    if carry <> 0 then s := '1' + s;
    BinAdd := s;
end;

begin
     writeln('Введите 1-е двоичное число: ');
     readln(sf);
     writeln('Введите 2-е двоичное число: ');
     readln(ss);
     sr := BinAdd(sf, ss);
     writeln('Результат сложения = ', sr);
end.


Последнее обновление:
Copyright (C) 2009-2010 by RA0LHS
Hosted by uCoz