Como manipular um numero de 64bits?

Olá companheiros de forum,
Preciso da ajuda de vocês, principalmente dos "matematicos", é que na minha aplicação preciso fazer uma "regra de três" com dois números de 32bits (int32), então preciso de fazer divisão e multiplicação.
O mais perfeito seria se eu pudesse Multiplicar primeiro pra depois dividir o resultado, MAS, como a multiplicação estouraria meu cálculo (int32) então eu faço é dividir primeiro pra depois multiplicar. Porém, dividindo primeiro eu sempre twenho "perda" de precisão nos cálculos, pois não estou trabalhando com float, mas somente inteiros.
Para eu poder multiplicar primeiro, preciso de uma forma de armazenar o resultado da multiplicação em uma variável de 64bits, pra depois dividir essa variável numa 2ª operação e voltar a ter o resultado em 32bits.
Vocês saberiam me ajudar em como implementar isso?
Grato mais uma vez!
Preciso da ajuda de vocês, principalmente dos "matematicos", é que na minha aplicação preciso fazer uma "regra de três" com dois números de 32bits (int32), então preciso de fazer divisão e multiplicação.
O mais perfeito seria se eu pudesse Multiplicar primeiro pra depois dividir o resultado, MAS, como a multiplicação estouraria meu cálculo (int32) então eu faço é dividir primeiro pra depois multiplicar. Porém, dividindo primeiro eu sempre twenho "perda" de precisão nos cálculos, pois não estou trabalhando com float, mas somente inteiros.
Para eu poder multiplicar primeiro, preciso de uma forma de armazenar o resultado da multiplicação em uma variável de 64bits, pra depois dividir essa variável numa 2ª operação e voltar a ter o resultado em 32bits.
Vocês saberiam me ajudar em como implementar isso?
Grato mais uma vez!