Inteiro não assinado em Javascript
Eu estou trabalhando em uma página que processa informações de endereço IP, mas está engasgado com o fato de que os números inteiros são assinados. Eu estou usando operadores bitwise para acelerar, mas o bit 64 (sinalizador assinado / não assinado) está bagunçando.
Existe alguma maneira de forçar um número a ser assinado em JavaScript? Parece funcionar bem, até que a sub-rede seja maior que 30 ou menor que 2.
Tente isto:
<html>
<body>
<script type='text/javascript'>
document.write( (1 << 30) +"<br/>");
document.write( (1 << 31) +"<br/>");
document.write( (1 << 32) +"<br/>");
</script>
</body>
</html>
Resultado:
1073741824 -2147483648 1