J'ai un problème en essayant de xor 32bits de 1 (0xffff ffff). Ex: 0xffffffff^0xfff devrait être 0xfffff000 mais dans js je ne peux pas déclarer un entier non signé ainsi je reçois -4096 ou -1000 en hexadécimal.Javascript xor 32bit nombre entier
Voici la sortie de la console js:
>0xffffffff^0xfff
<-4096
>(0xffffffff^0xfff).toString(16)
<"-1000"
>0xffffffff.toString(2)
<"11111111111111111111111111111111"
>0xfff.toString(2)
<"111111111111"
Il formate correctement jusqu'à ce que je fais quelque chose avec elle. Existe-t-il un moyen de traiter ce cas correctement?
UPD: J'ai réalisé ce problème est à la tête peu, mais ne pas comment y faire face décalage droit non signé