Actuellement, je mets en œuvre une équation (2^A)[X + Y*(2^B)]
dans l'une de mes applications.
Le problème concerne le débordement d'une valeur de 32 bits et je ne peux pas utiliser un type de données de 64 bits.
Supposons que lorsque B = 3
y Y = 805306367
, il déborde la valeur de 32 bits, mais lorsque X = -2147483648
le résultat revient à la plage de 32 bits.
Je veux donc stocker le résultat de (Y*2^B)
. Quelqu'un peut-il suggérer une solution à ce problème ? .... A et B ont une valeur de -15
a 15
y X
, Y
peut avoir des valeurs comprises entre 2147483647..-2147483648
.
La production peut varier de 0...4294967295
.