Escolar Documentos
Profissional Documentos
Cultura Documentos
CLCULO NUMRICO
A1= abs(A1);
b=0;
while B1 ~= 0
B3=B1; % Descobrindo o valor da varivel b
while B3 ~= 0
b=b+1;
multp= B3*10;
if multp>=1
B3= multp-fix(multp);
else
B3=multp;
end
end
soma=0;
for k=1:1:b % Salvando os nmeros dados em um vetor
% Fazendo o Clculo desses nmeros
multp= B1*10;
if multp>=1
B2(1,k)= 1;
B1= multp-fix(multp);
soma = (B2(1,k)*2^(-k))+soma;
else
B2(1,k)= 0;
B1=multp;
soma = (B2(1,k)*2^(-k))+soma;
end
end
end
fprintf(' %.15f \n',soma) %Sada
while A1~= 1
A1 = fix(A1/10);
b=b+1;
end
A2=0;
while A3~= 1
for a=1 :1:b
A2(1,a)= (mod(A3,10));
A3 = fix(A3/10);
if A3==1
A2(1,a+1)= A3;
end
end
end
soma1=0;
for a=1:1:(b+1)
soma1= (A2(1,a)*2^(a-1))+soma1;
end
b=0;
while B1 ~= 0
B3=B1;
while B3 ~= 0
b=b+1;
multp= B3*10;
if multp>=1
B3= multp-fix(multp);
else
B3=multp;
end
end
soma=0;
for k=1:1:b
multp= B1*10;
if multp>=1
B2(1,k)= 1;
B1= multp-fix(multp);
soma = (B2(1,k)*2^(-k))+soma;
else
B2(1,k)= 0;
B1=multp;
soma = (B2(1,k)*2^(-k))+soma;
end
end
end
soma_total=soma + soma1;
fprintf(' %.15f\n',soma_total)
end
Sada: 148
Outros exemplos:
Entrada: 11010101010101111110
Sada: 874096
Entrada: 10100.1
Sada: 20.500243544518526
Entrada: 1 0 1 1 1 1 1
Sada: 95
Entrada: 100100101
Sada: 293
Entrada: 1001.00101
Sada: 9.156242370598193
Entrada: 10000.1
Sada: 16.500243544518526
Entrada: 10000.11
Sada: 16.750227924421779
Entrada: 10
Sada: 2
Entrada: 0
Sada: 0
Entrada: 1
Sada: 1
Programa para converter nmeros decimais em binrios
utilizando o MATLAB
Nmero para converter: 148
A1=148;
A1= abs(A1);
fprintf('0,')
if size(B2,2)>= 15
fprintf(' %d',B2(1:15))
fprintf(' \n')
else
fprintf(' %d',B2) % Sada
end
elseif A1~= 1 & B1==0 % Caso a entrada seja somente um nmero inteiro
while A1~= 1
A1 = fix(A1/2); % Descobrindo o nmeros de divises b
b=b+1;
end
A2=0;
while A3~= 1
for a=1 :1:b
A2(1,a)= (mod(A3,2));
A3 = fix(A3/2); % Salvando o vetor com a resposta
if A3==1 % Resposta ainda no invertida
A2(1,a+1)= A3;
end
end
end
RA2=0;
for i=1 :1: size(A2,2) % Invertendo a resposta
c=size(A2,2) +1;
RA2(1,c-i)=A2(1,i);
end
A1 = fix(A1/2);
b=b+1;
end
A2=0;
while A3~=1
for a=1 :1:b
A2(1,a)= (mod(A3,2));
A3 = fix(A3/2);
if A3==1
A2(1,a+1)= A3;
end
end
end
RA2=0;
for i=1 :1: size(A2,2)
c=size(A2,2) +1;
RA2(1,c-i)=A2(1,i);
end
if w==1
RA2=1;
end
% Sadas
fprintf(' %d',RA2)
fprintf(',')
if size(B2,2)>= 15
fprintf(' %d',B2(1:15))
fprintf('\n')
else
fprintf(' %d',B2)
fprintf('\n')
end
end
Sada: 1 0 0 1 0 1 0 0
Outros exemplos:
Entrada: 873854
Sada: 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0
Entrada: 20.500243544518526
Sada: 1 0 1 0 0, 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
Entrada: 100000001
Sada: 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1
Entrada: 16.5
Sada: 1 0 0 0 0, 1
Entrada: 16.75
Sada: 1 0 0 0 0, 1 1
Entrada: 1
Sada: 1
Entrada: 0
Sada: 0
Entrada: 867583938
Sada: 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0
Entrada: 18.9586748
Sada: 1 0 0 1 0, 1 1 1 1 0 1 0 1 0 1 1 0 1 0 1
Entrada: 2.5
Sada: 10,1