微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

了解JavaScript按位运算符

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

输出:-10

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

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

谢谢,
山姆

解决方法

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

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

11111111111111111111111111111101

那么你添加1,给你:

11111111111111111111111111111110

我猜Javascript也是一样.

原文地址:https://www.jb51.cc/js/153794.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐