#example bitwise operator vs lazy operator a= c(1,1) b= c(1,3) d= c(2,1) a==1 & b==1 #it evaluates all positions a==1 && b==1 #it evaluates only the first position a==1 && d==1 #it evaluates only the first position a==1 || z==1 #it evaluates only what is necessary x=0 y=10 (x!=0)&&(y/x) #Evaluation proceeds only until the result is determined (y/x) x!=0