javascript 基础知识求解

rayyu1989 2011-06-27 09:37:31
var a=2516189184|44475;

为什么a 是 -1778733637

求扫盲
...全文
136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
licip 2011-06-27
  • 打赏
  • 举报
回复
你这是按位取或的运算。
xuexiaodong2009 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jhrxx 的回复:]

运算符查看两个表达式的二进制表示法的值,并执行按位“或”操作。该操作的结果如下所示:

0101 (expression1)
1100 (expression2)
----
1101 (结果)
任何时候,只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。
[/Quote]
任何时候,只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。
为1是就是负数了,0就是整数了,计算机通过最高为来判断正负数的
xuexiaodong2009 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jhrxx 的回复:]

运算符查看两个表达式的二进制表示法的值,并执行按位“或”操作。该操作的结果如下所示:

0101 (expression1)
1100 (expression2)
----
1101 (结果)
任何时候,只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。
[/Quote]任何时候,只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。
rayyu1989 2011-06-27
  • 打赏
  • 举报
回复
楼上2位请使用我给出的2个数字 举例下谢谢 为什么是负数?
jhrxx 2011-06-27
  • 打赏
  • 举报
回复
运算符查看两个表达式的二进制表示法的值,并执行按位“或”操作。该操作的结果如下所示:

0101 (expression1)
1100 (expression2)
----
1101 (结果)
任何时候,只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。

挨踢直男 2011-06-27
  • 打赏
  • 举报
回复
var b = 4|2
4的二进制是100,2的二进制是10
按下面的方法计算,如有一位是一那就为是全是零那就为零
结果是110,转换成10进制就是6
100
010
--------
110
rayyu1989 2011-06-27
  • 打赏
  • 举报
回复
实践才是王道,已自行解决 谢谢楼上几位 按位或 我知道 主要是 net 和 js 出来的不一致的问题

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧