Decimal and Binary for IP


Decimal and Binary for IP
IPv4 က 32bit ရွိျပီးေတာ့ dotted-decimal format နဲ ့ ေဖာ္ျပေလ့ရွိပါတယ္.Eg,. x.x.x.x ပါ တစ္ခုဆီမွာ 8bit အညီအမွ်ရွိပါတယ္. 8bit.8bit.8bit.8bit ပါ
ဒီေနရာမွာေျပာျပခ်င္တာက Binary သည္ base 2 ျဖစ္ျပီးေတာ့ သူမွာ ပါ၀င္တဲ့ ဂဏန္းကေတာ့ 0 နဲ့ 1 ပါ
Decimal သည္ Base 10 ျဖစ္ျပီး သူမွာပါ၀င္တဲ့ ကိန္းေတြကေတာ့ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 တုိ့ျဖစ္ပါတယ္.
192.168.1.1 သည္ dotted-decimal format နဲ့ ေရးထားတဲ့ IP address တစ္ခုပါ လူေတြနားလည္တဲ့ ပံုစံေပါ့.. အဲ့လို IP address ေတြကို router ေတြ switch ေတြ Network Card ေတြက ဘယ္လို့ နားလည္လဲ ဆုိေတာ့ Binary ေနနဲ့ 0, 1 On, Off အေနနဲ့ပဲ နားလည္ပါတယ္.. အဲ့ေတာ့ 192.168.1.1 ကို Machine(router,switch) ေတြနားလည္ေအာင္ Binary ေျပာင္းမယ္ဆုိရင္ >>
First 8 bit ျဖစ္တဲ့ 192 ကို အရင္ ႀကည့္က်ရေအာင္ဗ်ာ..
Decimal ကေန Binary ေျပာင္းမယ္ဆုိ အလြယ္နည္းေလးတစ္ခုေျပာျပပါ့မယ္.
အရင္ ဆံုး 2^7ကေန 2^0 ထိ တန္ဖိုးေတြကို သိထားဖုိ့လိုပါတယ္.
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1
192 ျဖစ္ဖုိ့ဆုိ 128 ရယ္ 64 ရယ္ ေပါင္းရင္ 192 ပါတယ္ အဲ့နွစ္ေကာင္ ရွိတဲ့ ေနရာေတြကို 1 က်န္တဲ့ ေနရာေတြကို 0 ေပးလိုက္ရင္ 1100 0000 ဆိုျပီး ကၽြန္ေတာ္တို့ လုိခ်င္တဲ့ 192 အတြက္လို့္ခ်င္တဲ့ Binary 8bit ကိုရပါတယ္..
ကဲ ေနာက္ထပ္ 168 အတြက္ ကၽြန္ေတာ္တုိ့ေတြ ႀကည့္က်ရေအာင္ဗ်ာ..
168 ကိုရဖုိ့ဆို ကၽြန္ေတာ္တုိ့ 128ရယ္ 32ရယ္ 8ရယ္ေပါင္းေပးရင္ 168ရတယ္ဗ်ာ့ 128+0+32+0+8+0+0+0= 168 ကၽြန္ေတာ္တုိ့ ေပါင္းရမယ့္ေကာင္ေတြ ေနရာကို 1 ထည့္မေပါင္းတဲ့ ေကာင္ေတြ ေနရာကို 0 ေပးလိုက္ရင္ 1010 1000 ဆုိျပီး ကၽြန္ေတာ္တုိ့ လိုခ်င္တဲ့ 168 အတြက္ Binary bit ရေရာ ကဲအဲ့ဆို decimal 1 အတြက္ဆုိရင္ 0+0+0+0+0+0+0+1=1 ဆုိေတာ့ ေနာက္ဆံုးေကာင္ပဲ 1 က်န္တာ 0 ေပးလိုက္ရင္ 0000 0001 ဆုိျပီးရမယ္ဗ်.. 192.168.1.1 ကို Binary ေျပာင္းလိုက္ရင္
1100 0000.1010 1000.0000 0001.0000 001 ဆိုျပီးရပါတယ္.
ကၽြန္ေတာ္တုိ့ေတြ Decimal to Binary ေျပာင္းတဲ့အေႀကာင္းျပီးေတာ့ Binary to Decimal ဘယ္လို့ ျပန္ေျပာင္းလဲ တစ္ခ်က္ႀကည့္က်ရေအာင္..
ဘယ္လို့ေျပာင္းလဲ သြားတာလဲ ဆိုေတာ့ ကၽြန္ေတာ္တုိ့ေတြ တစ္ဆင့္ခ်င္းႀကည့္က်ရေအာင္ဗ်ာ.. first 8 bits ကို အရင္စ ႀကည့္က်ရေအာင္ 1100 0000 ဆိုေတာ့ ဘယ္လိုေျပာင္းလဲ ဆုိရင္ LSB( Least significant bit) ဘယ္ဘက္အစြန္ဆံုး ေကာင္ကို 2^0 နဲ့ေျမာက္ရပါတယ္ ေနာက္သူ့ေရွ့ကတစ္ေကာင္ကို power ကို 1 ေပါင္း ေပါင္းျပီး 2^1ေျမွာက္ေပးရပါမယ္ ျပီး၇င္ ေနာက္တစ္ေကာင္ကို 1 ထပ္ေပါင္းျပီး 2^2 နဲေျမာက္ေပးရပါမယ္ အဲလိုနဲ့ ျပီးရင္ အကုန္ကို ေပါင္းေပးလိုက္ရင္ decimal ကိန္း ထြက္လာပါလိမ့္မယ္..
1(2^7 )+ 1(2^6)+ 0(2^5)+ 0(2^4)+ 0(2^3)+ 0(2^2)+ 0(2^1)+ 0(2^0)= 192 and let see the second one
1(2^7 )+ 0(2^6)+ 1(2^5)+ 0(2^4)+ 1(2^3)+ 0(2^2)+ 0(2^1)+ 0(2^0)= 168 and
0(2^7 )+ 0(2^6)+ 0(2^5)+ 0(2^4)+ 0(2^3)+ 0(2^2)+ 0(2^1)+ 1(2^0)= 1 and
0(2^7 )+ 0(2^6)+ 0(2^5)+ 0(2^4)+ 0(2^3)+ 0(2^2)+ 0(2^1)+ 1(2^0)= 1 >> now we get the 192.168.1.1 right!! ;-)
ပိုျပီး ရွင္းသြား ေအာက္မွာ ပံုေလးေတြနဲ့လဲ ရွင္းျပထားပါတယ္ဗ်ာ့..
No automatic alt text available.No automatic alt text available.No automatic alt text available.No automatic alt text available.

Comments