CodeGym /కోర్సులు /జావా మల్టీథ్రెడింగ్ /బిట్‌వైస్ ఆపరేటర్‌లు (&, XOR, <<, ...)

బిట్‌వైస్ ఆపరేటర్‌లు (&, XOR, <<, ...)

జావా మల్టీథ్రెడింగ్
స్థాయి , పాఠం
అందుబాటులో ఉంది
బిట్‌వైస్ ఆపరేటర్‌లు (&, XOR, <<, ...) - 1

"హాయ్, అమిగో!"

"బిట్‌వైజ్ ఆపరేటర్‌ల గురించి మరో చిన్న పాఠం."

"లాజికల్ ఆపరేటర్లు AND (&&), OR (||) మరియు NOT (!)తో పాటు బిట్‌వైస్ ఆపరేటర్లు AND (&), OR (|), NOT (~), మరియు XOR(^) కూడా ఉన్నారని మీకు తెలుసు. ), సరియైనదా?"

"అవును. బిలాబో ఒకసారి దీని గురించి చాలా మంచి పాఠం చెప్పాడు."

"సరే, ఈ ఆపరేటర్ల గురించి. నేను మీకు రెండు విషయాలు చెప్పాలి:"

"మొదట, NOT (~) మినహా, అవి లాజికల్ ఆపరేటర్ల వలె బూలియన్ వేరియబుల్స్‌కు వర్తించబడతాయి."

"రెండవది, సోమరితనం మూల్యాంకనం వారికి వర్తించదు."

"ఈ ఉదాహరణ చూడండి:"

కోడ్ సమానమైన కోడ్
if (a != null && a.getName() != null && c != null)
{
 c.setName(a.getName());
}
if (a != null)
{
 if (a.getName() != null)
 {
  if (c != null)
  {
   c.setName(a.getName());
  }
 }
}

"ఎడమవైపు కుడివైపు కంటే కాంపాక్ట్‌గా ఉందా?"

"అవును."

"మరి దానికి అదే అర్ధం ఉందా?"

"అవును."

"చాలా సరైనది. కానీ ఇప్పుడు బిట్‌వైస్ ఆపరేటర్‌లను ఉపయోగించి అదే వ్యక్తీకరణను చూడండి :"

కోడ్ సమానమైన కోడ్
if (a != null & a.getName() != null & c != null)
{
 c.setName(a.getName());
}
boolean c1 = (a != null);
boolean c2 = (a.getName() != null);
boolean c3 = (c != null);
if (c1)
{
 if (c2)
 {
  if (c3)
  {
   c.setName(a.getName());
 }
 }
}

"మరో మాటలో చెప్పాలంటే, కోడ్ ఒకటే, కానీ ఖచ్చితంగా ప్రతి ఆపరేషన్ చేయబడుతుంది."

"a శూన్యం అయితే, c2ని గణిస్తున్నప్పుడు మినహాయింపు ఇవ్వబడుతుందని గమనించండి!"

"ఆహ్. నేను ఇప్పుడు మరింత స్పష్టంగా చూడగలను."

వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION