విషయ సూచిక:
నిర్వచనం - బిట్ షిఫ్టింగ్ అంటే ఏమిటి?
బిట్ షిఫ్టింగ్ అనేది బైనరీ విలువ యొక్క అన్ని బిట్స్పై చేసిన ఆపరేషన్, దీనిలో అవి నిర్ణీత సంఖ్యలో స్థలాల ద్వారా ఎడమ లేదా కుడి వైపుకు తరలించబడతాయి. ఒపెరాండ్ మొత్తంగా కాకుండా బిట్ల శ్రేణిగా ఉపయోగించబడుతున్నప్పుడు బిట్ షిఫ్టింగ్ ఉపయోగించబడుతుంది. మరో మాటలో చెప్పాలంటే, ఒపెరాండ్ ఏదో ఒకదానికి నిలబడే వ్యక్తిగత బిట్లుగా పరిగణించబడుతుంది మరియు విలువగా కాదు.
బిట్ షిఫ్టింగ్ తరచుగా ప్రోగ్రామింగ్లో ఉపయోగించబడుతుంది మరియు ప్రతి ప్రోగ్రామింగ్ భాషలో కనీసం ఒక వైవిధ్యాన్ని కలిగి ఉంటుంది.
బిట్ షిఫ్టింగ్ను బిట్వైజ్ ఆపరేషన్ అని కూడా పిలుస్తారు.
టెకోపీడియా బిట్ షిఫ్టింగ్ గురించి వివరిస్తుంది
బిట్ షిఫ్టింగ్, షిఫ్ట్ రైట్ మరియు లెఫ్ట్ షిఫ్ట్ కు రెండు వైవిధ్యాలు ఉన్నాయి మరియు షిఫ్ట్ జరగవలసిన ప్రదేశాల సంఖ్యను బట్టి ఇది మరింత నిర్వచించబడుతుంది. ఉదాహరణకు, ఒపెరాండ్ ఒక విలువను ఎడమ వైపుకు మార్చడం లేదా బిట్స్ "n" విలువలను కుడి వైపుకు మార్చడం.
బిట్ షిఫ్టింగ్, లాజికల్ మరియు అంకగణితం అనే రెండు రకాలు కూడా ఉన్నాయి. సంతకం చేయని పూర్ణాంకాలను రెండు శక్తుల ద్వారా గుణించడానికి లేదా విభజించడానికి లాజికల్ బిట్ షిఫ్టింగ్ ఉపయోగపడుతుంది. ఉదాహరణకు, "0001" లేదా "1" విలువ ఎడమ వైపుకు మారితే, అది "0010" లేదా "2" అవుతుంది, ఎడమ వైపుకు మళ్లీ మారితే అది "0100, " లేదా "4" అవుతుంది. కుడి వైపుకు మారడం విలువను ప్రతి షిఫ్ట్కు రెండుగా విభజించడానికి వ్యతిరేక ప్రభావాన్ని కలిగి ఉంటుంది. చాలా సందర్భాల్లో, షిఫ్టింగ్ వృత్తాకారంగా పరిగణించబడుతుంది కాబట్టి ఎడమ వైపుకు మారినప్పుడు, ఎడమవైపు విలువ కుడివైపు విలువ అవుతుంది, మరియు దీనికి విరుద్ధంగా ఉంటుంది.
లాజికల్ లెఫ్ట్ షిఫ్ట్ మరియు అంకగణిత లెఫ్ట్ షిఫ్ట్ ఒకే ప్రభావాన్ని కలిగి ఉంటాయి కాబట్టి జావాకు ఒకే లెఫ్ట్ షిఫ్ట్ ఆపరేటర్ (<<) మాత్రమే ఉంటుంది. అంకగణిత కుడి షిఫ్ట్ (>>) అయితే తార్కికం (>>>). సి మరియు సి ++ లలో, ఒకే షిఫ్ట్ రైట్ ఆపరేటర్ (>>) ఉంది; చేయవలసిన షిఫ్ట్ రకం పూర్ణాంక రకం ద్వారా నిర్ణయించబడుతుంది. సంతకం చేయని పూర్ణాంకాలపై తార్కిక బిట్ షిఫ్టింగ్ ఉపయోగించినప్పుడు అంకగణితం ఉపయోగించి సంతకం చేయబడిన పూర్ణాంకాలు మార్చబడతాయి. అసెంబ్లీ ప్రోగ్రామింగ్లో బిట్ షిఫ్టింగ్ కూడా చాలా ఉపయోగించబడుతుంది ఎందుకంటే మైక్రోకంట్రోలర్లు మరియు మైక్రోప్రాసెసర్లు సాధారణంగా జెండాలపై ఆధారపడతాయి, ఇవి వ్యక్తిగత బిట్లచే సూచించబడతాయి. సాధారణంగా, అసెంబ్లీ భాషలో ప్రోగ్రామింగ్లో బైనరీ నంబర్ సిస్టమ్ ఉపయోగించబడుతున్నందున బిట్ షిఫ్టింగ్ సాధారణంగా ఉపయోగించే ఆపరేటర్ అవుతుంది.
