黑马程序员技术交流社区
标题:
逻辑运算符如何运用和计算???
[打印本页]
作者:
紫水
时间:
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