黑马程序员技术交流社区

标题: 逻辑运算符如何运用和计算??? [打印本页]

作者: 紫水    时间: 2014-6-19 10:00
标题: 逻辑运算符如何运用和计算???
谁能说下逻辑运算符如何运用和计算吗,如何10&1 应该等于多少呢?10&&2等于多少呢? 这些是如何计算的呢??
作者: 黎志勇    时间: 2014-6-19 10:16
本帖最后由 黎志勇 于 2014-6-19 10:18 编辑

10在内存中的表示形式是00000000 00000000 00000000 00001010,
1在内存中的表示形式为00000000 00000000 00000000 00000001
然后进行按位与运算
      00000000 00000000 00000000 00001010
&   00000000 00000000 00000000 00000001
-------------------------------------------------------
      00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000表示0。
所以10&1的运算结果是0。
至于10&&2,根本运算不了,&&操作符两边的参数只能是boolean类型。

作者: 郑飞    时间: 2014-6-19 13:33
本帖最后由 郑飞 于 2014-6-19 13:43 编辑

10&&2 不是位运算,是双与运算(应该把&&两边的表达式看成,或者转成布尔值,然后计算结果)
双与运算有短路效果,当左边表达式可以确定结果的时候,就不用计算右边的,效率比单与略高.

位运算 其实就是将要运算的数转成2进制 然后进行每一位进行&计算:
举个明显点的例子:    21&9
        10101
  &   01001
-----------------    所以 21&9 =3   
        00011        





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2