Bonjour à tous,

je suis entrain de retaper une application Javascript en python, et je suis tombé sur un problème:
à un moment dans le script, je tombe sur un ligne:
alors, je farfouille un peu et je trouve ceci sur un autre site :

<< :: Rotation à gauche :: Décale les bits vers la gauche (multiplie par 2 à chaque décalage). Les zéros qui sortent à gauche sont perdus, tandis que des zéros sont insérés à droite
Okay... alors, on refait le truc a la mano ensemble,
pour x = 1751007518
et n = 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
(dec)1751007518 = (bin)1101000010111100100000100011110
on décalle le bit : 11010000101111001000001000111100
(bin)11010000101111001000001000111100 = (dec)3502015036
Donc, okay, ça correspond bien à une multiplication par 2.
et c'est d'ailleur ce que python me reponds si je lui demande "1751007518<<1"

Alors.... pourquoi en javascript "alert(1751007518<<1)" me renvoie -792952260 ???? oO
en regardant d'un peu plus pres, Si on compare un peu les deux valeur binaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
1101000010111100100000100011110  (1751007518)
__101111010000110111110111000100  (-792952260)
j'ai remarquer que les valeur en rouge était des inverses, mais c'est la seule piste que j'ai...
Ou peut être un problème avec le bit du signe ?

Donc voila, si quelqu'un à une explication, voir un bout de code (python) qui me permetrai de faire quelque chose l'équivalent ça serrait super ^^