JAVA位运算符
1个回答
展开全部
然后呢?位运算怎么了?
说说位运算常用的几种吧。
首先基本概念:
你要明白 "与" 和 "或" 都代表什么意思,“与”表示同时满足,也称同时为真,然后其结果才能为满足或真,否者一概为不满足或假;"或"表示只需要满足一个,也可以说只要一个为真,然后其结果就为满足或者,除非两个都不满足,其结果才表示不满足。
接下来说常用的4种位运算符:按位与(&)、按位或(|)、带符号左移(<<)、带符号右移(>>)
& 表示按位与,需要按位的意思是,首先将符号两边均换算成二进制,然后按位做 与 操作,没有内容的以0计算。比如,1&7 相当于 001 &111 相当于 0&1 0&1 1&1 最后得到结果 001 也就是1 ;
| 表示按位或,其他内容与&一致,只有换成二进制后做的操作时 按位或,同上例:1|7 相当于 001|111 相当于 0|1 0|1 1|1 最后得到结果 111 也就是 7;
<< 表示左移,举例说明: 7 << 1 首先只将符号左侧内容换算成二进制 111 然后,向左移位,需要移多少位?这时候就用到符号右侧的数字1,即表示移1位,缺失的依旧补0,所以就变成了1110,也就是14
>> 表示右移,和左移一样,比如 7>>1 就表示 111向右移动一位,就变成了11,多余的位会被舍弃.
还有其他的不太常用的 比如 按位 异或 , 无符号移位运算,如果感兴趣,也可以去了解
说说位运算常用的几种吧。
首先基本概念:
你要明白 "与" 和 "或" 都代表什么意思,“与”表示同时满足,也称同时为真,然后其结果才能为满足或真,否者一概为不满足或假;"或"表示只需要满足一个,也可以说只要一个为真,然后其结果就为满足或者,除非两个都不满足,其结果才表示不满足。
接下来说常用的4种位运算符:按位与(&)、按位或(|)、带符号左移(<<)、带符号右移(>>)
& 表示按位与,需要按位的意思是,首先将符号两边均换算成二进制,然后按位做 与 操作,没有内容的以0计算。比如,1&7 相当于 001 &111 相当于 0&1 0&1 1&1 最后得到结果 001 也就是1 ;
| 表示按位或,其他内容与&一致,只有换成二进制后做的操作时 按位或,同上例:1|7 相当于 001|111 相当于 0|1 0|1 1|1 最后得到结果 111 也就是 7;
<< 表示左移,举例说明: 7 << 1 首先只将符号左侧内容换算成二进制 111 然后,向左移位,需要移多少位?这时候就用到符号右侧的数字1,即表示移1位,缺失的依旧补0,所以就变成了1110,也就是14
>> 表示右移,和左移一样,比如 7>>1 就表示 111向右移动一位,就变成了11,多余的位会被舍弃.
还有其他的不太常用的 比如 按位 异或 , 无符号移位运算,如果感兴趣,也可以去了解
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询