了解JavaScript按位运算符

感谢大家提前 –
alert((~1).toString(2));

输出:-10

但是在PHP / Java中,它会输出11111111111111111111111111111110

我错过了什么,为什么Javascript会在输出中添加“ – ”?

谢谢,
山姆

解决方法

我知道Java使用二进制补码代表负数,而二进制中的是11111111111111111111111111111110,这是〜1给出的,代表-2.或者,用二进制代表负号,-10,这是你得到的.

您使用二进制补码计算10的负数(在基数2中)的方式是首先反转所有位,给出:

11111111111111111111111111111101

那么你添加1,给你:

11111111111111111111111111111110

我猜Javascript也是一样.

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小