读书人

java 的逻辑运算符跟位运算符

发布时间: 2012-10-30 16:13:36 作者: rapoo

java 的逻辑运算符和位运算符

首先名称是不同的?
&&逻辑与  ||逻辑或  它们都是逻辑运算符?
& 按位与  | 按位或  它们都是位运算符?
if(a==1&&b==2) 这是说既要满足a=1也要满足b=2?
if(a==1||b==2) 这是说或者满足a=1或者要满足b=2?
而a&b或者a|b则是二进制的与或运算?
&同为1时为1,否则为0?
|同为0时为0,否则为1?
3&5则?
 0011?
&0101?
 0001?
等于1?

3|5则?
 0011?
|0101?
 0111?
等于7?

计算机内部是二进制的,不过为了人看起来比较方便都转化成了十进制的数。?
另外,一般是否以二进制运算要看运算符。<<,>> ,^,~,&,|这些位运算符都是首先转换成二进制,再进行运算的,计算机内部其实也是这样,计算完成再转换回十进制。?
目的:通过直接在内存中移动二进制位,然后二进制数再转成十进制数,大大提高运算了计算机的运行效率.因为移位和十进制数的对应关系是有数学公式算法的.

读书人网 >编程

热点推荐