CodeGym /జావా కోర్సు /మాడ్యూల్ 1 /ఎన్‌కోడింగ్‌లు

ఎన్‌కోడింగ్‌లు

మాడ్యూల్ 1
స్థాయి , పాఠం
అందుబాటులో ఉంది

1. ఆక్టల్ ఎన్‌కోడింగ్

ఎన్‌కోడింగ్‌ల గురించి చెప్పాలంటే... మీకు తెలిసినట్లుగా, రోజువారీ జీవితంలో మేము దశాంశ సంజ్ఞామానాన్ని ఉపయోగిస్తాము : మా సంఖ్యలన్నీ 10 చిహ్నాలను ఉపయోగించి సూచించబడతాయి: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 10 ఉన్నాయి. సంఖ్యలు, కాబట్టి వ్యవస్థను దశాంశం అంటారు.

కానీ ప్రోగ్రామర్లు పెద్ద-సమయం ఆవిష్కర్తలు. వారు వెంటనే వేరే సంఖ్యలో చిహ్నాలను ఉపయోగించే ఎన్‌కోడింగ్‌లతో ముందుకు వచ్చారు. ఉదాహరణకు, 16, 8 మరియు 2.

8 చిహ్నాలను ఉపయోగించే ప్రత్యామ్నాయ ఎన్‌కోడింగ్ చాలా సులభమైనది: కేవలం 8 మరియు 9ని వదలండి మరియు మీరు ఆక్టల్ ఎన్‌కోడింగ్‌ను పొందుతారు (అష్ట సంఖ్యా వ్యవస్థ ).

మరియు, అవును, మీరు సంఖ్యా అక్షరాలను పేర్కొనడానికి ఆక్టల్ సిస్టమ్‌ని ఉపయోగించవచ్చు. అయితే, మీరు నిజంగా అవసరం. ఇది ధ్వనించే దాని కంటే సులభం. మీరు సంఖ్యకు ముందు 0 సంఖ్యను వ్రాయాలి.

మరో మాటలో చెప్పాలంటే, జావా 0తో ప్రారంభమయ్యే ఏదైనా పూర్ణాంకాన్ని ఆక్టల్ విలువగా పరిగణిస్తుంది.

ఉదాహరణలు:

కోడ్ గమనికలు
int x = 015; 
x 13: 1*8+5
int x = 025; 
x 21: 2*8+5
int x = 0123; 
x 83: 1*64+2*8+3 == 1*8 2 +2*8 1 +3*8 0
int x = 078;
ఇది కంపైల్ చేయదు: 8 అనేది ఆక్టల్ ఎన్‌కోడింగ్‌లో ఉపయోగించే చిహ్నాలలో ఒకటి కాదు.

మీరు మీ కోడ్‌లో అష్ట సంఖ్యలను వ్రాయవలసిన అవసరం లేదు, కానీ అవి ఏమిటో మీరు తెలుసుకోవాలి. అన్నింటికంటే, మీరు ఇతరులు వ్రాసిన కోడ్‌ను చదవవలసి ఉంటుంది. మరియు పైన చెప్పినట్లుగా, ప్రోగ్రామర్లు పెద్ద ఆవిష్కర్తలు.

సరే, మీరు ప్రతి సంఖ్య ముందు 0 అని వ్రాయలేరని గుర్తుంచుకోండి.



2. బైనరీ ఎన్‌కోడింగ్

బైనరీ ఎన్‌కోడింగ్ మరింత ఆసక్తికరంగా ఉంటుంది. ఆక్టల్‌లో 0-7 అంకెలు మాత్రమే ఉంటే, బైనరీలో 0 మరియు 1 మాత్రమే ఉంటాయి. ఈ ఎన్‌కోడింగ్ ఎందుకు అవసరం?

ఇది కంప్యూటర్ యొక్క అంతర్గత నిర్మాణంతో ప్రతిదీ కలిగి ఉంటుంది. కంప్యూటర్‌లోని ప్రతిదీ విద్యుత్తుతో నడుస్తుంది మరియు అది జరిగినప్పుడు, విద్యుత్తును ఉపయోగించి ఏదైనా నిల్వ చేయడానికి మరియు ప్రసారం చేయడానికి రెండు రాష్ట్రాలను ఉపయోగించడం అత్యంత ప్రభావవంతమైన మార్గం: వైర్‌లో విద్యుత్ లేదు (సున్నా) మరియు విద్యుత్తు (ఒకటి).

బైనరీ సంఖ్యా వ్యవస్థ యొక్క ప్రజాదరణకు ఇది మూలం.

సూత్రప్రాయంగా, ఇది జావాలో చాలా తరచుగా ఉపయోగించబడదు: జావా ఒక ఉన్నత-స్థాయి భాషగా పరిగణించబడుతుంది, ఇది నడుస్తున్న హార్డ్‌వేర్ నుండి పూర్తిగా సంగ్రహించబడింది. నిజానికి, కంప్యూటర్‌లో డేటాను నిల్వ చేయడానికి మరియు ప్రాసెస్ చేయడానికి ఏ ఫార్మాట్ ఉపయోగించబడుతుందో మీరు నిజంగా శ్రద్ధ వహిస్తున్నారా?

కానీ గత దశాబ్దాలుగా, ప్రోగ్రామర్లు బైనరీ ఎన్‌కోడింగ్‌ను ఇష్టపడుతున్నారు (మరియు దాని ఆధారంగా ఇతర ఎన్‌కోడింగ్‌లు). ఫలితంగా, బైనరీ సంఖ్యలను ఇన్‌పుట్‌లుగా తీసుకునే ఆపరేటర్‌లను జావా కలిగి ఉంది. మరియు ఫ్లోటింగ్ పాయింట్ సంఖ్యల ఖచ్చితత్వం వాటి బైనరీ ప్రాతినిధ్యంపై ఆధారపడి ఉంటుంది.

ప్రాథమికంగా, ఈ ఎన్‌కోడింగ్ గురించి మీకు తెలియకపోవడం కంటే తెలుసుకోవడం మంచిది.

మరియు ఆక్టల్ ఎన్‌కోడింగ్ మాదిరిగానే, బైనరీ సిస్టమ్‌ను ఉపయోగించి లిటరల్స్‌ను ఎన్‌కోడ్ చేయడానికి జావా ఒక మార్గాన్ని కలిగి ఉంది. అంటే, అక్షరాలు 0లు మరియు 1లను మాత్రమే కలిగి ఉంటాయి. జావా కంపైలర్ కోడ్‌లో సున్నాలు మరియు వాటితో కూడిన దశాంశ సంఖ్య కంటే బైనరీలో ఎన్‌కోడ్ చేయబడిన సంఖ్యా అక్షరార్థం ఉందని అర్థం చేసుకోవడానికి , అన్ని బైనరీ అక్షరాలు 0b ఉపసర్గను ఉపయోగించి గుర్తించబడతాయి ('b' బైనరీ పదం నుండి వచ్చింది) .

ఉదాహరణలు:

కోడ్ గమనికలు
int x = 0b100; 
х 4: 1*4+0*2+0
int x = 0b1111; 
х 15: 1*8+1*4+1*2+1
int x = 0b1111000111; 
x 967: 1*2 9 +1*2 8 +1*2 7 +1*2 6 +0*2 5 +0*2 4 +0 *2 3 +1*2 2 +1*2+1;
int x = 0b12000;
ఇది కంపైల్ చేయదు: బైనరీ ఎన్‌కోడింగ్‌లో ఉపయోగించే చిహ్నాలలో 2 ఒకటి కాదు.


3. హెక్సాడెసిమల్ ఎన్‌కోడింగ్

ఆక్టల్ మరియు బైనరీ ఎన్‌కోడింగ్‌లతో పాటు, అక్షరాలను హెక్సాడెసిమల్‌లో కూడా వ్రాయవచ్చు. ఇది చాలా ప్రజాదరణ పొందిన ఎన్‌కోడింగ్.

ఎందుకంటే బైనరీ సంజ్ఞామానం సంఖ్యలు వాస్తవంగా ఎలా నిల్వ చేయబడతాయో దానికి వీలైనంత దగ్గరగా ఉన్నప్పటికీ, మానవులు అటువంటి సంఖ్యలతో సమర్థవంతంగా పని చేయడం చాలా కష్టం: బైనరీలో, ఒక మిలియన్ సంఖ్య 7 కాదు, 20 అంకెలను కలిగి ఉంటుంది.

అందుకే ప్రోగ్రామర్లు హెక్సాడెసిమల్ సిస్టమ్‌తో ముందుకు వచ్చారు. అన్నింటికంటే, 16 అనేది 4వ శక్తికి 2 పెరిగింది, కాబట్టి సరిగ్గా 4 బిట్‌లు ఒక హెక్సాడెసిమల్ అంకెకు అనుగుణంగా ఉంటాయి. స్థూలంగా చెప్పాలంటే, ప్రతి 4 బిట్‌లను ఇప్పుడు ఒకే హెక్సాడెసిమల్ డిజిట్‌గా వ్రాయవచ్చు.

హెక్సాడెసిమల్ ఎన్‌కోడింగ్ కూడా దాని స్వంత ప్రత్యేక ఉపసర్గను కలిగి ఉంది: 0x . ఉదాహరణలు:

దశాంశ సంఖ్య బైనరీ సంజ్ఞామానం హెక్సాడెసిమల్ సంజ్ఞామానం
17 0b 0001 0001 0x 1 1
4 1 0b 0010 1 00 1 0x 2 9
85 0b 0101 0101 0x 5 5
256 0b 1 0000 0000 0x 1 0 0

సరే, మీరు చెప్పేది, మేము అష్టాకార వ్యవస్థను ఎలా పొందామో స్పష్టంగా ఉంది: మేము 8 మరియు 9 సంఖ్యలను విసిరివేసాము, అయితే హెక్సాడెసిమల్ సిస్టమ్ కోసం 6 అదనపు చిహ్నాలను ఎక్కడ పొందగలం? నేను వాటిని చూడాలనుకుంటున్నాను!

అంతా సూటిగా ఉంటుంది. ఆంగ్ల వర్ణమాలలోని మొదటి 6 అక్షరాలు 6 మిస్సింగ్ చిహ్నాలుగా తీసుకోబడ్డాయి: A (10), B (11), C (12), D (13), E (14), F (15).

ఉదాహరణలు:

హెక్సాడెసిమల్ సంజ్ఞామానం బైనరీ సంజ్ఞామానం దశాంశ సంఖ్య
0x 1 0b 0000 0001 1
0x 9 0b 0000 1001 9
0x 0b 0000 1010 10
0x బి 0b 0000 1011 11
0x C 0b 0000 1100 12
0x డి 0b 0000 1101 13
0x 0b 0000 1110 14
0x F 0b 0000 1111 15
0x 1 F 0b 0001 1111 31
0x A F 0b 1010 1111 175
0x F F 0b 1111 1111 255
0x F F F 0b 1111 1111 1111 4095


4. హెక్సాడెసిమల్ నుండి సంఖ్యను ఎలా మార్చాలి

సంఖ్యను హెక్సాడెసిమల్ నుండి దశాంశానికి మార్చడం చాలా సులభం. మీ వద్ద 0 x A F C F సంఖ్య ఉందని అనుకుందాం . దశాంశంలో అది ఎంత?

మొదట, మనకు స్థాన సంఖ్య వ్యవస్థ ఉంది, అంటే మనం కుడి నుండి ఎడమకు వెళ్లినప్పుడు మొత్తం సంఖ్యకు ప్రతి అంకె యొక్క సహకారం 16 కారకం పెరుగుతుంది:

A * 16 3 + F * 16 2 + C * 16 1 + F

గుర్తు A సంఖ్య 10కి అనుగుణంగా ఉంటుంది, C అక్షరం 12 సంఖ్యకు అనుగుణంగా ఉంటుంది మరియు F అక్షరం పదిహేను సూచిస్తుంది. మాకు దొరికింది:

10 * 16 3 + 15 * 16 2 + 12 * 16 1 + 15

అంకెలకు అనుగుణంగా ఉండే వివిధ శక్తులకు 16ను పెంచడం ద్వారా, మనకు లభిస్తుంది:

10 * 4096 + 15 * 256 + 12 * 16 + 15

మేము ప్రతిదీ సంగ్రహించి, పొందుతాము:

45007

ఈ సంఖ్య మెమరీలో ఎలా నిల్వ చేయబడిందో మీకు తెలుసు:

0x A F C F

కానీ ఇప్పుడు దానిని బైనరీకి మారుద్దాం. బైనరీలో ఇది ఇలా ఉంటుంది:

0b 1010 1111 1100 1111

నాలుగు బిట్‌ల ప్రతి సెట్ ఖచ్చితంగా ఒక హెక్సాడెసిమల్ అక్షరానికి అనుగుణంగా ఉంటుంది. అది చాలా సౌకర్యవంతంగా ఉంటుంది. ఏ గుణకారం లేదా ఘాతాంకం లేకుండా."


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