Solutions de contournement: 32 bits
Les solutions de contournement pour la limitation 32 bits incluent:
divisant par 1000 (ou toute puissance de 10) en coupant les derniers (3) chiffres
diviser les nombres en chiffres décimaux séparés et effectuer tous les calculs et effectuer la logique "manuellement"
autres langages de script
La solution de contournement n ° 1 peut être utilisée pour ajouter de l'espace disque, par exemple:
Exemple de code "Chop"
Le truc, c'est que chaque (grand) nombre est traité comme une chaîne, puis les six caractères (chiffres) les plus à droite sont coupés et ensuite seulement, le résultat est traité comme un nombre.
Il s'agit d'une solution de contournement assez grossière, car elle «arrondit» tous les chiffres avant de faire le calcul. L'ajout d'un demi-octet pour chaque sous-répertoire (% Count% / 2) à% Total% compense les troncatures. Le total général est donc plus précis que les nombres individuels. Notez que les nombres ne représentent pas de "vrais" méga-octets (1024 x 1024) mais plutôt des millions d'octets (1000 x 1000).
La solution de contournement n ° 2 est parfaitement démontrée par les fichiers de commandes de Brian Williams:
Add.bat
IsLarger.cmd
Multiply.cmd
Parfait, mais assez complexe.
La solution de contournement n ° 3, d’autres langages de script, s’explique par elle-même.
Solutions de contournement: entiers
Aucune solution de contournement n'autorise les calculs en virgule flottante, à l'exception de l'utilisation d'autres langages de script.
La seule exception peut être si vous avez un nombre de décimales limité et fixe (par exemple 2), vous pouvez alors tout multiplier par 100.
Pour afficher un délimiteur décimal dans les résultats finaux, concaténez la division ineger par 100, suivie du délimiteur décimal, suivie de la division modulo par 100:
SET Entier = Résultat / 100 SET "Fraction = Résultat %% 100" SET Résultat =% Entier%.% Fraction%
Cela risque cependant de ne pas dépasser la limite de 32 bits.
En général, pour les maths en virgule flottante, je recommanderais d'utiliser d'autres langages de script.