function BTFBOC_Convert(number: string): string; // to one's complement
var i: Integer;
begin
if number[1] = '1' then
begin
result := number[1];
for i := 2 to Length(number) do
case number[i] of
'1': result := result + '0';
'0': result := result + '1';
'.': result := '.';
end;
end else result := number;
end;
/// why it's works ?
function BTFBTC_Convert(number: string): string; // to two's complement
begin
if number[1] = '1' then
begin
number := BTFBOC_Convert(number);
result := number; result[1] := '0';
result := BTFAddition(result, '01'); result[1] := '1';
end else result := number;
end;