nunca fiz, então...

Programação C em geral

Moderadores: 51, guest2003

nunca fiz, então...

Mensagempor fabim » 05 Out 2009 11:54

Psoal.
Quando eu escovava bit, em todos os meus softwares eu criava uma pasta com todos os includes de calculos matematicos, drives de periféricos etc.
Cheguei a um ponto agora, que cada compilador tem uma margem de erro.
Dessa forma, ao invés de eu utilizar operandos nativos de compiladores eu queria fazer minhas proprias rotinas de calculos.
por exemplo.
multint(multiplicando, base, resultado);
sumint(base, valoradd, resultado);
divint(base, dividendo, resultado);
sumfloat(.....
multfloat(...
divfloat(....
sqrtint(base, resultado);
sqrtfloat(base, resultado);

Só que, seu eu inserir os comandos em asm, os compiladores simplesmentem não setam bancos de variaveis etc.
Desta forma, os calculos seriam feitos todos em ANSI C.
Teste de bits, carry, toracionamento, soma divisão etc, dentro das rotinas.

Será que é possivel isso, de forma que a portabilidade seja universal ?

Abraços

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor joao » 18 Out 2009 15:30

Fabim,

Não sei a resposta que você gostaria, mas você se importaria em dizer quais são os compiladores e sistemas operacionais(caso vc usou) que estejam dando a diferença? Para mim, é interessante saber sobre isso, pois trabalho com vários Sistemas Operacionais, mas ainda não notei nenhuma diferença entre os calculos matemáticos que ocorrem. Mas, também nunca fiquei precisando verificar os calculos, desde que o código inteiro funcione. :)

[]'s
Como já diria um grande amigo: Só sei que nada sei!!!
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor Djalma Toledo Rodrigues » 18 Out 2009 16:34

Fabim quer criar sua própria.

#Include < Fabimath.h > // Biblioteca de números imaginários e irracionais

:D
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor enigmabox » 19 Out 2009 08:10

Fabim,

Vai depender se seu hardware é de 8,16,32 ou 64 bits, cada um tem um modo de fazer os calculos matemáticos.
Dentro do C da para escrever suas subrotinas para calculo matematico em ASM, mas ai tem que reservar espaço na RAM para variaveis, endereços, isto é vai ter que saber onde pode e nao pode reservar a area na RAM, vai depender do sistema operacional.
Se o hardware for MCU, dá para acoplar uma FPU em um determinado endereço ou usar um outro MCU para calculos, ai fica facil. Num determinado endereço vc joga as variaveis e o calculo, em outro sai o resultado, por ex.
Agora redesenvolver a roda, não fica facil.
enigmabox
 


Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x