Probleme de multiplication sous MS DOS

Je suis en train d’établir un long Batch d’encodage en Xvid. Dans ce batch il y a évidemment un passage dédié au calcul du Bitrate en fonction de la taille du fichier que je souhaite.
Cependant le calcul sous DOS est complétement faux?!?

exemple:
Dans un fichier .bat si je fais:

Set /A conversion_en_octets=70010241024
echo.%conversion_en_octets%
-> Le résultat obtenu est correct: 734003200

Or,
Set /A conversion_en_bits=70010241024*8
echo.%conversion_en_bits%
-> Le résultat donné est totalement faux!

J’ai pu vérifier cette anomalie avec pas mal de calculs sous MS-DOS dès lors que les nombres sont conséquents :frowning:

Quelqu’un à une idée de la raison/solution?

Changer d’interpréteur.

70010241024*8 = 5 872 025 600 > 4 294 967 296 = 2^32

L’interpréteur est codé sur 32 bits, le plus grand nombre représentable est 4 294 967 296

Passe à du python pour que ça marche.
Edité le 22/01/2009 à 11:14

et utilise un OS moderne comme linux aussi :ane:

Merci v_atekor!

ça a le mérite d’être clair :slight_smile:

Python? j’ai déjà entendu ça … est ce compliqué?
Je sais qu’il n’est pas bon de comparer deux langages … mais Python est 2, 3, 5 fois plus compliqué que le DOS?

le batch de dos est non seulement tres peu puissant mais en plus la syntaxe est nulle en plus d’etre extremement limitee, vieillote et incoherente.
Python est un langage de script ET de developpement bien plus puissant et pratique

Bon … et bien je vais m’y mettre alors …
Espérons juste qu’il ne s’agit pas là d’un langage “méga-supra-compliqué” qui éteindra la petite flamme qui anime ma curiosité ces derniers jours :slight_smile:

tu entends quoi par “complique” ?

python est avant tout un langage de script donc fait pour pondre de petites choses rapidement et facilement. En suite, c’est sur qu’il faut connaitre les bases : qu’est ce qu’une iteration, une condition, une affectation, une fonction, etc