TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Projeto de Calculo numerico

Por:   •  6/3/2016  •  Trabalho acadêmico  •  890 Palavras (4 Páginas)  •  275 Visualizações

Página 1 de 4

Questao 1

Na primeira questão implementamos um código o número de dígitos da matissa da máquina.

No algoritmo tivemos que dobrar o último valor de ‘a’ para resultar na precisão, pois o programa só calcula com valores positivos.

Ex: se a mantissa da máquina for de quantidade igual a 5, ela irá reconhecer do número -2 até o número 2.

% Questão 1;

%

% Danilo Jorge / Edllen Randelley / Jonathan Dário;

%

% Turma A;

%

% O programa consiste em revelar a mantissa da máquina.

a = 1;

b = 2;

digitos = 0;

while ( b > 1)

a = a / 2;

b = a + 1;

digitos = digitos + 1;

end

prec = 2 * a;

disp ('A precisão eh: ');

disp (prec);

disp ('O número de digitos eh: ');

disp (digitos);

disp ('O valor de eps: ');

disp (eps);


Questão 2

Na questão 2 implementamos códigos, na linguagem matlab para transformar um dado número binário (de base 2) em número fracionário (de base 10), e transformar um número fracionário (de base 10) em um número binário (de base 2).

Utilizamos a função floor, fornecida no projeto, para auxiliar na transformação de um dado número real qualquer em um número binário, pois a forma de obtenção do numero binário da parte inteira é diferente da forma de obtenção da parte fracionária. Com o auxílio dessa função, pode-se ser calculadas as partes separadamente e unidas ao final.

Algoritmo de transformação de número binário em número fracionário:

% Questão 2;

% Danilo Jorge / Edllen Randelley / Jonathan Dário;

% Turma A;

% O programa consiste transformar um dado número binário (na base 2) em um número decimal (na base 10).

numbin = input ('Digite o número binário: ');

cont = 0;

% o cont serve para saber a quantidade de dígitos do número binário para posteriiormente podermos calcular o mesmo na base 10; %

numero = 0;

% Essa variável será o número impresso.

% Nessa etapa estmos calculando a quantiade de dígitos do número binário e guardando cada dígito numa posição de um vetor; %

while (numbin >= 1)

numdec = mod(numbin,10);

numbin = numbin/10 - numdec*(1/10);

cont = cont + 1;

v(cont) = numdec;

end

% Nessa etapa está sendo calculado o número binário pela forma que aprendemos em sala; %

for (i=0 : cont-1)

numero = numero + v(i+1) * 2^(i);

end

disp('O número na base 10 eh: ');

disp (numero);

Algorítmo de transformação de número fracionário real em número binário:

% Questão 2;

% Danilo Jorge / Edllen Randelley / Jonathan Dário;

% Turma A;

% O programa consiste transformar um dado número decimal (na base 10) em um número binário (na base 2).

numdec = input('Digite o número decimal: ');

% Se for digitado um número real qualquer, nessa etapa ele será dividido em duas partes: parte inteira e parte fracionária, pois cada parte será calculada de formas diferentes; %

int = floor(numdec);

frac = numdec - int;

% A variável cont é a posisão do vetor, que será ultilizado para guardar os digitos da parte inteira do número fornecido; %

cont = 1;

v = 0;

% Nessa etapa está sendo guardado os dígitos da parte inteira nas posições do vetor; %

while (int >=1)

v(cont) = mod(int,2);

int = int/2;

int = floor(int);

cont = cont + 1;

end

cont = cont - 1;

numbin = 0;

for(i=0 : cont-1)

numbin = numbin + v(i+1) * 10^(i);

end

% Nessa etapa a parte fracionária do número está sendo tranformada em parte binária; %

while (frac ~= 1 | i == 20)

frac = frac *2;

v(i) = floor(frac);

frac = frac - v(i);

end

disp('frac :');

disp(frac)

numbin2 = 0;

% Nessa etapa estamos organizando o número binário da parte fracionária, obitido à cima, e guardando numa variável; %

while (numbin2 ~=1)

numbin2 = numbin2 + v(i) * 10^-i;

end

% Aqui é montado o número binário completo, com o número binário da parte inteira e o número binário da parte fracionária. %

numbin = numbin + numbin2;

Questão 3

a)(346) na base 10 para transformar p/base 2

346

Quociente

Restos

346/2

173

0[pic 1]

173/2

86

1

86/2

43

0

43/2

21

1

21/2

10

1

10/2

5

0

5/2

2

1

2/2

1

0

[pic 2]

O numero (346) na base 2= 101011010

b) (0,654) na base 10 p/ transformar p/ base 2

0,654 x 2

1,308

0,308x2

0,616

0,616x2

1,232

0,232x2

0,464

0,464x2

0,928

0,928x2

1,856

0,856x2

1,712

 

O numero(0,654)na base 2= 1010011

c)transformar 78,10 na base 10 para base 2

...

Baixar como (para membros premium)  txt (6.2 Kb)   pdf (154.4 Kb)   docx (15.3 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com