IGCSE O Level - Computer Science

ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / က)

ကွန်ပျူတာဆိုတာ အတော်လေး ရိုးရှင်းတဲ့ စနစ်တစ်ခု။ ဒီလို ပြောလို့ ဟ ခလုတ် တစ်ရာလောက် ပါတဲ့ ကီးဘုတ်ကို ကြည့်ပြီး ကွန်ပျူတာဆိုတာ ရှုပ်ရှုပ်ထွေးထွေး စက်ကြီးပါလို့ ပြောမယ့် အိမ်က လူကြီးတွေ ရှိမယ်။ ထားတော့ ဒါက တစ်ပိုင်း။

ကွန်ပျူတာ အကြောင်းမပြောခင် လူတွေ အကြောင်းအရင် စပြောရမယ်။ လူတွေ တစ်နေ့တစ်နေ့ ပြောဆိုလုပ်ကိုင်နေကြတဲ့အချိန်မှာ ဒေတာပမာဏ အတော်များများကို ကိုင်တွယ် အသုံးပြုနေရတယ်။

CAMBRIDGE တက္ကသိုလ်ရဲ့ research တွေ အရဆိုရင် လူတစ်ယောက်နဲ့ စကားပြောတဲ့အခါ တစ်စက္ကန့်ကို (၆၀) bits လောက် process လုပ်ရတယ်လို့ ဆိုတယ်။ ကျွန်တော်တို့ ဉီးနှောက်က တစ်စက္ကန့်ကို အများဆုံး (၁၂၀) bits လောက်အထိပဲ process လုပ်နိုင်တာ။ ဒါကြောင့်မို့ ကိုယ့်ကို လူ (၂) ယောက် တစ်ပြိုင်တည်း စကားလာပြောရင် process လုပ်ဖို့ ခက်ပြီး ဘာမှ နားမလည်တော့တာ။

လူတွေ အနေနဲ့ အာရုံ (၅) ပါးက ဝင်လာတဲ့ ဒေတာ (အဆင်း၊​ အနံ့ ၊ အသံ၊ အထိအတွေ့၊ အရသာ ) တွေကို အချိန်နဲ့ အမျှ process လုပ်နေရတာရှိတယ်။ ဒီ ဒေတာ တွေကို Analogue Data လို့ စာမှာတော့ ခေါ်တာ ရှိတယ်။ စဉ်ဆက်မပြတ် ဖြစ်တည်နေသော ဒေတာများလို့ ဘာသာပြန်ရမလား မသိ။

ဒါပေမယ့် ကွန်ပျူတာ အနေနဲ့ကျ ဒီလို Analogue Data တွေကို process မလုပ်နိုင်ဘူး။ ပြောနေကျအတိုင်း ကွန်ပျူတာဆိုတာ 0 or 1 ကိုပဲ ကိုင်တွယ်နိုင်တယ်ပေါ့။ ဘာလို့လဲဆိုတော့ ကွန်ပျူတာ ဆိုတာ Logic Gate ကလေးတွေ အများကြီးစုထားတာမျိုး။ ဒီ Logic Gate တွေက 0 or 1 ဆိုတဲ့ Digital Data တွေကိုပဲ process လုပ်နိုင်တယ်။ AND OR NAND NOR NOT ဆိုတဲ့ ဒီ အခြေခံ logic gate တွေအကြောင်း နောက်မှ အကျယ်တဝင့် ရှင်းကြမယ်။ ဒီ 0 or 1 ဆိုတဲ့ information ကို register ဆိုတဲ့ အကောင်သေးသေးလေးတွေထဲမှာ သိမ်းထားကြတယ်။

ဒီတော့ ဘယ်လို Data မျိုးပဲ ဖြစ်ဖြစ် ကွန်ပျူတာ နားလည်အောင် ပြောချင်၊ သိမ်းစေချင်ရင် 0 or 1 ဆိုတဲ့ Binary Data ဖြစ်အောင် ပြောင်းပြီးမှာ သိမ်းလို့ရတယ်။

နောက်တစ်ပိုင်းမှာ အပြင်လောကမှာ သုံးနေတဲ့ ဂဏန်းတွေကို ကွန်ပျူတာထဲမှာ ဘယ်လို သိမ်းတယ်။ စာတွေ၊ ပုံတွေ နဲ့ အသံဖိုင်တွေကို ဘယ်လို သိမ်းတယ်ဆိုတဲ့ အကြောင်း ထပ်ဆွေးနွေးကြတာပေါ့။


ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / ခ) - ဂဏန်းများ

ကျွန်တော်တို့ နေ့တိုင်း သုံးနေကြတာက base-10 ဂဏန်း စနစ်။ ၁၊​ ၂၊ ၃၊ ၄ အစရှိသဖြင့် ၁၀၊ ၁၀၀၊​ ၁၀၀၀ တစ်ဆယ် ကိုအခြေပြုပြီး သွားတဲ့ ပုံစံ။ ဒါကို denary number system လို့ ခေါ်ကြတယ်။ သုည ကနေ ကိုး အထိ ဂဏန်းတွေကိုသုံးပြီး ရေတွက်ကြတာမျိုး။

ကွန်ပျူတာတွေကတော့ base-2 ဂဏန်း စနစ် ကို သုံးကြတယ်။​ သူ့မှာတော့ ၀၊​ ၁၊ ၁၀၊ ၁၁၊ ၁၀၀၊ ၁၀၀၁၊ ၁၀၁၀ စသည်ဖြင့် နှစ်ကို ကို အခြေပြုပြီး သွားကြတယ်။ သုည နဲ့ တစ် ဂဏန်း နှစ်မျိုးထဲကိုပဲ သုံးပြီး ရေတွက်ကြတယ်။ ဒါကိုတော့ binary number system လို့ ခေါ်ကြတယ်။

နမူနာ အနေနဲ့ဆိုရင်။

base-10 base-2
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010

ဒါမျိုး ရေတွက်ကြတယ်။

Denary မှ Binary ပြောင်းလဲခြင်း

Binary ဂဏန်တွေကို ပါတဲ့ ဂဏန်းအရေအတွက်အပေါ်မူတည်ပြီး 4-bit binary, 8-bit binary စသည်ဖြင့် ခေါ်ကြတယ်။ ဉပမာ 4-bit binary ဆိုရင် 0/1 ဂဏန်း (၄)​ ခုပါမယ်။ 8-bit ဆိုရင် 0/1 ကို ဖော်ပြတဲ့ နေရာ (၈) ခုပါမယ်ပေါ့။ လောလောဆယ်တော့ ကျွန်တော်တို့ 4-bit binary တွေ အကြောင်း အရင်လေ့လာကြမယ်။

10-based ဂဏန်းတစ်ခု ဖြစ်တဲ့ 13 ကို 2-based ဂဏန်း 4-bit binary ပြောင်းကြည့်ကြရအောင်။

အဆင့် (၁)​။​ ညာဘက်က ရေမယ်ဆိုရင် (၁) ကနေ ဂဏန်း (၄)​ ခု ပြည့်တဲ့အထိ (၂)​ နဲ့ မြှောက်သွားမယ်။

base-10 8 4 2 1
13        

၁၃ ဟာ ၈ ထက် ကြီးတဲ့အတွက် ၈ အောက်မှာ 1 လို့ မှတ်လိုက်မယ်။

base-10 8 4 2 1
13 1      

၁၃ ထဲက ၈ ကို နှုတ်တော့ ၅ ကျန်မယ်။ ၅ ဟာ ၄ ထက်ကြီးတဲ့အတွက် ၄ အောက်မှာ 1 လို့ မှတ်လိုက်မယ်။

base-10 8 4 2 1
13 1 1    

၅ ထဲက ၄ ကို နှုတ်တော့ ၁ ကျန်မယ်။ ၁ ဟာ ၂ ထက် ငယ်တဲ့အတွက် ၂ အောက်မှာ 0 လို့ မှတ်လိုက်မယ်။

base-10 8 4 2 1
13 1 1 0  

၁ နဲ့ ၁ ဟာ တူတဲ့အတွက် ၁ အောက်မှာ ၁ လို့ မှတ်လိုက်မယ်။

base-10 8 4 2 1
13 1 1 0 1

ဒါဆိုရင်တော့ 13 ကို 4-bit binary ပြောင်းတာ 1101 ရပါတယ်။

ဒါဆိုရင် ကိုယ့်ဘာသာကိုယ် 6 နဲ့ 9 ကို 4-bit binary ပြောင်းကြည့်နိုင်ပါပြီ။

4-bit binary မှာ အများဆုံး ဂဏန်း ဘယ်လောက်အထိ သိမ်းနိုင်မလဲ? အခြေခံ တွက်ကြည့်မယ်ဆိုရင်တော့ 2^ number of bits ပါ။

4-bit ဆိုတော့ 2 ^ 4 = 16 နေရာ သိမ်းနိုင်ပါတယ်။ ၁၆ နေရာဆိုတော့ သုည ကနေ တစ်ဆယ့်ငါး အထိ သိမ်းနိုင်ပါတယ်။

တကယ်လို့ 150 ကို binary ပြောင်းချင်တယ်ဆိုရင် 4-bit နဲ့ မရတော့ပါဘူး။ 8-bit နဲ့မှ အဆင်ပြေပါလိမ့်မယ်။ ဒီတော့ binary table က ဒါမျိုးဖြစ်မယ်။

base-10 128 64 32 16 8 4 2 1
150                

ကိုယ့်ဘာသာကိုယ် စာရွက်ပေါ်မှာ ချတွက်ပြီး ပြောင်းကြည့်နိုင်ပါတယ်။


ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / ဂ) - Hexadecimal

Denary 10-based စနစ်မှာ ဂဏန်း (၁၀) လုံး သုံးတယ်။​ ၀၊ ၁၊ ၂၊ ၃၊ … ၈၊ ၉။

Binary 2-based စနစ်မှာ ဂဏန်း (၂) လုံး သုံးတယ်။​ ၀၊ ၁။

Hexadecimal 16-based စနစ်မှာ ဂဏန်း (၁၆) လုံး သုံးတယ်။​ ၀၊ ၁၊​ ၂၊​ ၃၊​ ၄၊ ၅၊ ၆၊ ၇၊ ၈၊ ၉၊ A၊ B၊ C၊​ D၊ E၊ F။

ဒီလိုမျိုး ဖြစ်မယ်။

base-10 base-16
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F

Denary ကနေ Hexadecimal ကို ပြောင်းမယ်ဆိုရင် ဒီလို အဆင့်ဆင့် ပြောင်းရတယ်။

  • Denary ကနေ 4-bit binary ပြောင်း
  • 4-bit binary ကနေမှ Hexadecimal ပြောင်း။

အိုကေ 12 ကို Hexadecimal ပြောင်းကြမယ်။

အဆင့်(၁) Denary မှ 4-bit binary ပြောင်း။

10-based -> 8 4 2 1

12 -> 1 1 0 0

အဆင့်(၂) b-bit binary မှ Hexadecimal ပြောင်း။

1 ဖြစ်နေတဲ့ ဂဏန်းတွေကို ပေါင်းရမယ်။ 8 + 4 = 12 base-10 -> base-16 table မှာ သွားကြည့်မယ်ဆိုရင် 12 -> C

ဒီတော့ 12 ကို Hexadecimal ပြောင်းလိုက်ရင် C ရမယ်။

နောက်တစ်ခေါက် ခပ်ကြီးကြီး ဂဏန်း တစ်ခုကို ပြောင်းကမယ်။ denary 201 ကို Hexadecimal ဘယ်လိုပြောင်းကြမလဲ? ထုံးစံအတိုင်း

  • denary ကို binary ပြောင်း
  • binary ကို hexadecimal ပြောင်း။

201 ကို binary ပြောင်းမယ်ဆိုရင် 8-bit လိုမယ်။

10-based -> 128 64 32 16 8 4 2 1 201 -> 1 1 0 0 1 0 0 1

Hexadecimal တစ်လုံးစီက 4 bit ပဲ ရတာဆိုတော့ အခု 8-bit ကို 4-bit (၂) ပိုင်းခွဲလိုက်မယ်။

201 -> 1 1 0 0 1 0 0 1

1 1 0 0 နဲ့ 1 0 0 1 ဆိုပြီး (၂) ပိုင်းရမယ်။

Phase (1) 10-based -> 8 4 2 1 2-based -> 1 1 0 0

Phase (2) 10-based -> 8 4 2 1 2-based -> 1 0 0 1

ဒီ အပိုင်း(၂) ခုကို Hexadecimal ပြောင်းမယ်ဆိုရင်

Phase (1) 8+4 = 12 -> C Phase (2) 8+1 = 9 -> 9

ဒီတော့ 201 ကို Binary ပြောင်းရင် 1 1 0 0 1 0 0 1 Hexadecimal ပြောင်းရင် C9 ရပါမယ်။

Hexadecimal ကနေ Denary ကို ပြန်ပြောင်းချင်ရင်လည်း အထက်က တွက်နည်းကိုပဲ ပြောင်းပြန် ပြန်တွက်နိုင်ပါတယ်။

ဉပမာ 5E ကို Denary ပြောင်းမယ်ဆိုရင်။

5 နဲ့ E ကို 4-bit binary ပြောင်း။

Phase (1) - 5 10-based -> 8 4 2 1 2-based -> 0 1 0 1

Phase (2) - E 10-based -> 8 4 2 1 2-based -> 1 1 1 0

Phase (1) နဲ့ (2) ကို ပေါင်းပြီး 8-bit binary ပြောင်းရင် 0 1 0 1 1 1 1 0

ဒါကို Denary ပြောင်းကြမယ်။

10-based -> 128 64 32 16 8 4 2 1 2-based -> 0 1 0 1 1 1 1 0

64+16+8+4+2 = 94

ဒီတော့ Hexadecimal 5E ကို Binary ပြောင်းရင် 0 1 0 1 1 1 1 0 Denary ပြောင်းရင် 94

– ကိုယ့်လက်ရှိအသက်ကို Hexadecimal ပြောင်းရင် ဘယ်လောက်ရမလဲ? ဒါကတော့ အိမ်စာပေါ့။ ကျွန်တော်ကတော့ 1F ပါ :D

ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / ဃ) - Binary များ ပေါင်းခြင်း

Binary (၂) ခု ဘယ်လိုပေါင်းလဲ?

Denary တွေ အချင်းချင်းပေါင်းတာကတော့ ရိုးရိုးရှင်းပဲ။

3 + 5 = 8

လက်သုံးချောင်းထောင် သုံးပြီးတော့ လေး၊ ငါး၊ ခြောက်၊​ ခုနှစ်၊ ရှစ် အဖြေ ရှစ်။

ဒါက ငယ်ငယ်ကတည်းက ပေါင်းခြင်း သင်ခဲ့တဲ့ ပုံစံ။

Binary နှစ်ခု အချင်းချင်း ပေါင်းကြမယ်ဆိုရင် Rule (၄) ခု ရှိတယ်။

Rule (1) 0 + 0 = 0 Rule (2) 1 + 0 = 1 Rule (3) 1 + 1 = 10 ( Binary 10 ကို Denary ပြန်ပြောင်းရင် ၂ ရတယ်။) Rule (4) 1 + 1 + 1 = 11 ( Binary 111 ကို Denary ပြန်ပြောင်းရင် ၃ ရတယ်။)

နမူနာ အနေနဲ့ ဒီ 8-bit binary နှစ်ခုကို ပေါင်းကြည့်ကြမယ်။

1 0 0 1 0 1 0 0
0 0 0 1 1 1 1 0 ----------------------
            1 0

ပထမ နှစ်တွဲကတော့ အဆင်ပြေပြီ။

0+0 = 0 0+1 = 1

တတိယမြောက် 1+1 = 10 ကို ဘယ်လိုရှင်းမလဲ?

        1   
1 0 0 1 0 1 0 0
0 0 0 1 1 1 1 0 ----------------------
          0 1 0

10 ဆိုတော့ 0 ကို ထား 1 ကို အပေါ်တင်။

ဒီတော့ 1 + 0 + 1 = 10 ရမယ်။ နှစ်လုံး ဆိုတော့ ထုံးစံအတိုင်း နောက်အလုံးကို ထား ရှေ့အလုံးကို အပေါ်တင်။

      1 1   
1 0 0 1 0 1 0 0
0 0 0 1 1 1 1 0 ----------------------
        0  0 1 0

ဒီမှာ 1 + 1 + 1 = 11 ဆိုတော့ကာ နှစ်လုံး ဖြစ်နေပြန်ပြီ။ နောက်အလုံး 1 ကိုထား ရှေ့အလုံး 1 ကို အပေါ်တင်။

    1 1 1   
1 0 0 1 0 1 0 0
0 0 0 1 1 1 1 0 ----------------------
      1 0  0 1 0

ကျန်တာကတော့ ပေါ့ပေါ့ပါးပါးပါပဲ။

    1 1 1   
1 0 0 1 0 1 0 0
0 0 0 1 1 1 1 0 ----------------------
1 0 1 1 0  0 1 0

ဒီတော့ 1 0 0 1 0 1 0 0 + 0 0 0 1 1 1 1 0 = 1 0 1 1 0 0 1 0 ဆိုပါတော့။

မှတ်ထားရမှာ တစ်ခုက 8-bit binary တွေဟာ denary 255 အထိပဲ မှတ်ထားနိုင်တယ်။ အဲ့ထက် များတဲ့ ဂဏန်းကို 8-bit binary နဲ့ represent မလုပ်နိုင်ဘူး။ ကွန်ပျူတာမှာ ပါတဲ့ register တွေမှာလည်း အရွယ်အစား ရှိတယ်။ 8-bit register, 16-bit register စသည်ဖြင့်။ တစ်ခါတစ်လေမှာ တစ်ချို့ 8-bit binary နှစ်ခုကို ပေါင်းတာက 8-bit မဟုတ်ပဲ 9-bit , 10-bit စတာတွေ ထွက်လာနိုင်တယ်။

ဉပမာ ဒီ 8-bit binary နှစ်ခု ပေါင်းကြည့်မယ်။

1 0 0 1 0 1 0 0
1 0 0 1 1 1 1 0 ----------------------   1 0 0 1 1 0  0 1 0

ဒီမှာဆိုရင် အဖြေက 9-bit ဖြစ်နေတယ်။ ဒါဆို 8-bit ပဲ သိမ်းနိုင်တဲ့ register တွေမှာ Overflow Error တက်မယ်။ ဒါကို စိတ်ထဲမှာ မှတ်ထားရင် ရပြီ။ ပေါင်းကောင်းကောင်းနဲ့ပေါင်းတာ ဖြစ်လာနိုင်တဲ့ bit ကို ဂရုမစိုက်မိရင် Overflow Error တက်နိုင်မယ်ပေါ့။

ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / င) - Logical binary shifts

Binary တွေ ပေါင်းတာအပြင် နောက်ထပ် လုပ်တာကတော့ ဟိုဘက်တိုးလိုက် ဒီဘက်တိုးလိုက် နဲ့ ရွေ့ကြတာပဲ။ စာမှာတော့ Logical Binary Shit လို့ ခေါ်တယ်။ bit ကလေးတွေ ဘယ်ဘက်ရွေ့ရင် Logical Left Shift ပေါ့။ ညာဘက် ရွေ့ရင် Logical Right Shift

အိုကေ ဒီတော့ နမူနာ ဘယ်ဘက်ကို နှစ်လှမ်းလောက်ရွေ့ကြည့်ရအောင်။

မူလ Binary က ဒါမျိုး ရှိတယ် ဆိုကြပါစို့။

               
0 0 1 0 1 1 0 0
               

ဘယ်ဘက်ကို တစ်လှမ်းရွေ့ကြည့်မယ်ဆိုရင်

               
0 1 0 1 1 0 0  
               
  • ဘယ်ဘက်အစွန်ဆုံး တစ် bit ကို ဖျတ်
  • ကျန်တဲ့ bit တွေကို ဘယ်ဘက်ကို တစ်ကွက်စီ ရွေ့
  • ညာဘက်အစွန်ဆုံး က လွတ်သွားတဲ့ အကွက်မှာ 0 ဖြည့်

နောက်ဆုံးရမယ့် ပုံစံက

               
0 1 0 1 1 0 0 0
               

မူလ Binary ကို Denary ပြောင်းကြည့်မယ်ဆိုရင် 44 ရမှာဖြစ်ပြီး အခု ဘယ်ဘက်ကို တစ်လှမ်းရွေ့လိုက်တဲ့ Binary ကို Denary ပြောင်းကြည့်မယ်ဆိုရင် 88 ရမှာ ဖြစ်ပါတယ်။ ဆိုရရင် Binary တွေကို ဘယ်တစ်လှမ်းကပ်ရင် နှစ်နဲ့ မြောက်ပြီးသား အဖြေရမယ်ပေါ့။

တကယ်လို့ ညာဘက်ကို ကပ်ကြည့်ရင်ရော ဘာရမလဲ?

               
  0 0 1 0 1 1 0
               

ညာတစ်လှမ်းကပ်လိုက်ရင်

  • ညာဘက် အစွန်ဆုံး bit ကို ဖျတ်မယ်။
  • ကျန်တဲ့ bit တွေအကုန်လုံး ညာဘက်ကို တစ်ကွက်စီ ရွေ့မယ်။
  • ဘယ်ဘက် အစွန်က လွတ်သွားတဲ့ အကွက်မှာ 0 ဖြည့်မယ်။
               
0 0 0 1 0 1 1 0
               

ဒါကို denary ပြောင်းရင် 22 ရမယ်။ ဒီတော့ ညာဘက်ကို တစ်ကွက် ရွေ့ရင် နဂိုဂဏန်း 44 ကို ၂ နဲ့ စားသလို ဖြစ်နေတာ တွေ့ရတယ်။

ဒီလို bit shifting လုပ်တာကို ဘယ်ဘက်ကို လုပ်တာလည်းရှိမယ်။ ညာဘက်ကို လုပ်တာလည်း ရှိမယ်။

shit လုပ်တဲ့အခါမှာလည်း တစ်ကွက် (​1 bit ) ပဲ ရွေ့တာဖြစ်နိုင်သလို 2 bit , 3 bit စသည်ဖြင့် နှစ်ကွက် သုံးကွက် ရွေ့တာလည်း ဖြစ်နိုင်တယ်။

တစ်ခု သတိထားရမှာက တစ်ချို့ ဂဏန်းတွေကို shit လုပ်ရင် မျှော်လင့်ထားသလို မြှောက်တာ စားတာ တွေရဲ့ ရလဒ်ကို ရချင်မှ ရနိုင်တယ်။

ဉပမာ denary 216 ရဲ့ binary ကို ဘယ်ဘက် တစ်ကွက် ရွေ့ကြည့်ရအောင်။

236 ရဲ့ binary က | | | | | | | | | | - | - | - | - | - | - | - | - | | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | | | | | | | | | |

ဘယ်ဘက် တစ်ကွက် ရွေ့လိုက်ရင်

               
1 1 0 1 1 0 0 0
               

ဒါမျိုး ရမယ်။ Denary ပြောင်းကြည့်မယ်ဆိုရင် 216 ရမယ်။

236 ကို 2 နဲ့မြှောက်တာက 216 မဟုတ်တာတော့ သေချာတယ်။ ဒီတော့ ညာဘက် တစ်ကွက်ရွေ့ရင် နှစ်နဲ့ မြှောက်တဲ့ အဖြေရတယ်လို့ မှတ်ထားတာက အဆင်ပြေမှာ မဟုတ်ဘူး။ အကွက်တွေ ရွေ့ရင်း အရေးကြီးတဲ့ ဂဏန်းတွေကို ဖျတ်ပစ်မိတာမျိုး ဖြစ်နိုင်တယ်။ ဒါကို စိတ်ထဲမှာ မှတ်ထားရမယ်။

ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / စ) - Negative binary numbers

ရှေ့အပိုင်းတွေမှာ ဂဏန်းအတွေ အကြောင်းပြောတဲ့အခါ အပေါင်းဂဏန်းတွေကိုပဲ​နမူနာထားပြီး ပြောခဲ့ကြတယ်။ ဆိုရရင် အပေါင်းကိန်းပြည့်တွေ။ အခုအပိုင်းမှာတော့ အနှုတ်ကိန်းပြည့်တွေကို binary ဘယ်လိုပြောင်းကြမလဲဆိုတာကို ဆွေးနွေးသွားပါမယ်။

အနှုတ်ကိန်းပြည့်ကို binary အနေနဲ့ သိမ်းဖို့အတွက် သုံးတဲ့ Method တွေ အများကြီးထဲကမှ ဒီနေ့ခေတ်အသုံးများတဲ့ Two’s Complement ကို သုံးပြီး ဂဏန်းတစ်လုံးလောက် ပြောင်းကြည့်ကြမယ်။

ဆိုကြပါစို့ -35 ကို binary ပြောင်းချင်တယ်။

  • 35 ကို binary ပြောင်း
               
0 0 1 0 0 0 1 1
               
  • ရလာတဲ့ binary ကို ပြောင်းပြန်လှန် ( 1 နေရာမှာ 0, 0 နေရာမှာ 1 )
               
1 1 0 1 1 1 0 0
               
  • ပြောင်းပြန်လှန်ထားတဲ့ binary ကို 1 ပေါင်း
               
1 1 0 1 1 1 0 1
               

ဒီတော့ -35 ရဲ့ binary က 1101 1101

ရိုးရိုးရှင်းရှင်း မှတ်ရရင်

ထိပ်ဆုံးဂဏန်း

0 ဆိုရင် အပေါင်းကိန်း 1 ဆိုရင် အနှုန်ကိန်း Two’s Complement method သုံးပြီး နဂိုဂဏန်းပြန်ရှာရမယ်။

ကြုံလို့ ပြောရမယ်ဆိုရင်

binary တွေရဲ့ ဘယ်ဘက်အစွန်က bit ကို MSB ( Most Significant Bit ) လို့ ခေါ်တယ်။ အရေးအပါဆုံး bit ကလေးပေါ့။ ညာဘက်အစွန်ဆုံးက bit ကိုတော့ LSB ( Last Significant Bit ) လို့ ခေါ်တယ်။ အချာပင် bit ပေါ့ဗျာ။ သိပ်အရေးမကြီးတဲ့ bit လို့ ခေါ်တယ်။ ဒါတွေက နောက်ပိုင်းမှာ bit တွေကို ဖြုတ်တာ ပြင်တာ လုပ်တဲ့အချိန်မှာ အရေးပါလာလိမ့်မယ်။

စာ၊ ပုံ နဲ့ အသံတွေကို ကွန်ပျူတာမှာ ဘယ်လိုသိမ်း

ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / ဆ ) How do computers represent text, images and sound?

အရင်အပိုင်းတွေမှာ ကွန်ပျူတာဆိုတာ binary digit တွေနဲ့ပဲ​ အလုပ်လုပ်နိုင်တဲ့အကြောင်း။ ကျွန်တော်တို့ သုံးနေကျ based-10 denary တွေကို based-2 binary ပြောင်းတဲ့အကြောင်း တွေကို ဆွေးနွေးပြီးပြီ ဆိုတော့ အခုအပိုင်းမှာတော့ နေ့စဉ်ဘဝမှာ သုံးနေတဲ့ စာတွေ၊ ပုံတွေ၊ အသံတွေကို binary ဘယ်လိုပြောင်းကြမလဲ​ဆိုတာကို ဆက်လက်ဆွေးနွေးသွားပါမယ်။

စာ ကို binary ပြောင်းခြင်း

ဂဏန်းကို ပြောင်းတုန်းကတော့ တိုက်ရိုက် တွက်ပြီးပြောင်းလို့ရတယ်။

ဒါမျိုး

3 -> 11 8 -> 110

Abc လို စာတွေကို ကြတော့ တိုက်ရိုက် ပြောင်းလို့မရတော့ပဲ Character Set လို့ ခေါ်တဲ့ ဇယားတစ်ခုရဲ့ အကူအညီနဲ့ ပြောင်းရတယ်။ ဇယား အမျိုးအစား ကလည်း (၂) မျိုး ရှိတယ်။

  • ASCII နဲ့
  • Unicode

ကျွန်တော်တို့စီမှာ နှစ်ခြမ်းကွဲခဲ့ကြတဲ့ မြန်မာကီးဘုတ် ညီနောင်ဟာလည်း ဒါပါပဲ။ ဇော်ဂျီ က ASCII ဘက်က ဖြစ်ပြီး Myanmar 3 ကတော့ Unicode ဘက်က ဆိုပါတော့။ ဒါက ကြားဖြတ်။

အိုကေ လောလောဆယ် ASCII နဲ့ ရိုးရိုးရှင်းရှင်း ပြောင်းကြည့်ရအောင်။

ASCII ဆိုတာ အက္ခရာ တစ်လုံးကို 0-255 ဂဏန်းတစ်ခု သတ်မှာ ပေးထားတဲ့ ဇယားလို့ ပြောရမယ်။ ဆိုရရင် အက္ခရာ တစ်ခုအတွက် ဂဏန်းတစ်ခု ရမယ်ပေါ့။

ဉပမာ ASCII နမူနာ table ကို ကြည့်မယ်ဆိုရင် ဒါမျိုးရှိမယ်။

Character Denary
a 97
b 98
c 99
[Space] 32
   

ဒီတော့ ကွန်ပျူတာမှာ a ကို သိမ်းချင်ရင် ASCII Table က a ကိုသွားကြည့်တယ်။ a ရဲ့ Denary က 97

Denary 97 ကို 8-bit binary ပြောင်းတော့ 1100001

ဒီ 8-bit binary ကို ကွန်ပျူတာရဲ့ 8-bit register မှာ သိမ်းလိုက်ရင် ရပြီ။

ASCII Table ရဲ့ အဓိက အားနည်းချက်က character တစ်လုံးကို 8-bit နဲ့ ဖော်ပြထားတော့ စုစုပေါင်း character ၂၅၆ လုံးပဲ ဆန့်တယ်။ ဒါက တရုတ်/ ဂျပန် လိုမျိုး ဘာသာစကားတွေအတွက် အဆင်မပြေ။ ဒီတော့ character တစ်လုံးကို 16-bit သုံးတဲ့ Unicode ကို အကုန်လုံးရွေ့လာကြတာ။ Unicode မှာတော့ ဘာသာစကားတစ်ခုအတွက် character ၆၅,၀၀၀ ဆန့်တယ်။ ဒီတော့ emoji တွေတောင် ထည့်ထားပေးလို့ရလာတယ်။

အင်တာနက်မှာ ASCII Table လို့ ရှာကြည့်ပြီး hello world ရဲ့ binary ကို ကိုယ်တိုင်တွက်ကြည့်နိုင်ပါတယ်။

ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / ဇ ) ပုံကို binary ပြောင်းခြင်း

စာ ကို binary ပြောင်းတုန်းကတော့ ASCII လို character set တွေ သုံးခဲ့ကြတယ်။ အခု ပုံတွေကိုရော binary ဘယ်လိုပြောင်းကြမလဲ? ပုံတွေ အကြောင်း မပြောခင်မှာ အရောင်တွေအကြောင်း အရင်ပြောရမယ်။

အပြင်လောက မှာ အရောင်တွေ အများကြီးရှိတယ်။ ဒီအရောင်တွေအကုန်လုံးကို Text တွေတုန်းက သုံးခဲ့တဲ့ ASCII တို့ Unicode တို့လို့ convertion table တစ်ခုသုံးပြီး ပြောင်းမယ်ဆိုရင် အဆင်မပြေဘူး။ ဒီတော့ အရောင်တွေ ထဲကမှ အဓိက အရောင် (၃) ခုကိုပဲ သင်္ချာဂဏန်း ပြောင်းလိုက်တယ်။

မူကြိုတုန်းက Red , Yellow နဲ့ Blue က အဓိက ပင်မအရောင် တွေပါလို့ သင်ခဲ့ကောင်း သင်ခဲ့ရမယ်။ ဒါပေမယ့် ကွန်ပျူတာ သိပ္ပံမှာတော့ Red, Green နဲ့ Blue သည်သာ ပင်မအရောင်လို့ ယူဆကြတယ်။

Color Theory အရဆိုရင်လည်း Red, Green နဲ့ Blue သာရှိရင် ဘယ်အရောင်မဆို စပ်လို့ရတယ်လို့ ဆိုတယ်။

အိုကေ အဓိက သုံးမယ့် အရောင် (၃) ရောင်တော့ ရပြီ။ တစ်ရောင်ကို ဘယ်လောက်ရာခိုင်နှုန်း စပ်မလဲဆိုတာက ဘယ်လို သတ်မှတ်ကြမလဲ? 0 - 100 % ဆိုပြီး သတ်မှတ်ကြမလား?

ကွန်ပျူတာတွေမှာက Bit နဲ့ပဲ​တွက်ကြတာဆိုတော့ 100 ဆိုတာက ဘောင်မဝင် တန်းမဝင်။ 1-bit, 4-bit, 8-bit, 16-bit စသည်ဖြင့် ရှိကြတာဆိုတော့ အရောင်တွေအတွက် 8-bit ကို သုံးကြတယ်။ ဒီတော့ ဂဏန်းနဲ့ဆို 0-255 ကြား သတ်မှတ်လို့ရမယ်။

အရောင်တစ်ရောင် ရဖို့ အဓိကအရောင် (၃) ရောင် စပ်ရတာ ဆိုတော့ တစ်ရောင် 8-bit နဲ့ (၃) ရောင် 24-bit သုံးရင် အပြင်လောက ဘယ်အရောင်ကိုမဆို ကွန်ပျူတာမှာ သိမ်းလို့ရပြီ။

ဉပမာ အညိုရောင် ရချင်တယ်ဆိုရင် ဘယ်လို လုပ်ကြမလဲ? Color Theory မှာတော့ အနီ နဲ့ အစိမ်း ဆတူ စပ်ရင် အညိုရောင်ရတယ်လို့ ဆိုတယ်။ ဒီတော့

R -> 255 G -> 255 B -> 0

ဒီလို စပ်လိုက်ရင် အညိုရောင် ဖြစ်သွားမယ်။ ကွန်ပျူတာ မှာ သိမ်းဖို့ဆိုရင်တော့ binary ပြောင်းရမယ်။

255, 255, 0 ကို တစ်ခုချင်းစီအတွက် 8-bit binary ပြောင်းတော့ 1111 1111, 1111 1111, 0000 0000 111111111111111100000000

Hexadecimal အနေနဲ့ဆိုရင် FF, FF, 00 FFFF00 လို့ ဖော်ပြလို့ရမယ်။

ဒီအထိက အရောင်တွေကို ကွန်ပျူတာမှာ binary ဘယ်လိုပြောင်းပြီး သိမ်းနိုင်မယ်ဆိုတာပဲ ရှိသေးတာ။ ခက်တာက ဓာတ်ပုံတစ်ပုံဆိုတာက အရောင်တစ်ရောင်တည်းပါတာ မဟုတ်။ အရောင်ပေါင်းစုံ ပါတဲ့ ပန်းချီကားလိုပဲ။ ဒီတော့ ဘယ်လို သိမ်းကြမလဲ? ဒီနေရာမှာ Pixel ဆိုတာ ဝင်လာတယ်။ Pixel ဆိုတာ အတော်လေးသေးတဲ့ အမှုန်လေးတစ်မှုန်ပေါ့။ အဲ့အမှုန်လေးမှာ ကိုယ်စီ အရောင်တွေ ရှိကြတယ်။

ဓာတ်ပုံတွေကို pixel တွေနဲ့ ဖွဲ့စည်းထားတယ်လို့ ပြောလို့ရတယ်။ ဓာတ်ပုံတစ်ပုံဖြစ်ဖို့အတွက် အမှုန်ပေါင်း သိန်းချီနဲ့ ခြယ်ကြတယ်။ အခုပဲ ကိုယ့်ဖုန်းထဲက Gallery ထဲမှာ နောက်ဆုံးရိုက်ထားတဲ့ ဓာတ်ပုံတစ်ပုံကို ကြည့်ပြီး အဲ့မှာ Pixel ဘယ်လောက်ပါလဲ တစ်ချက်ကြည့်ကြည့်လို့ရတယ်။ ကျွန်တော် နောက်ဆုံးရိုက်ထားတဲ့ ဓာတ်ပုံ ကို ကြည့်ကြည့်တော့

4080 x 3072 ဒါမျိုး တွေ့ရတယ်။

ဒါဟာ ဒီဓာတ်ပုံ ရဲ့ အလျား နဲ့ အနံ ကို ဆိုလိုတာ။ ဒီ ဓာတ်ပုံတစ်ပုံ ဖြစ်ဖို့အတွက် အလျား မှာ pixel ပေါင်း 4080 နဲ့ အနံ မှာ pixel ပေါင်း 3072 ရှိတယ်။ ဆိုတော့ကာ ဒီပုံမှာ pixel ပေါင်း 4,080 * 2,072 = 8,453,760 Pixel ပါတယ်လို့ ပြောနိုင်တယ်။


ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / စျ ) အသံကို binary ပြောင်းခြင်း

အသံဆိုတာ လူတွေ ကြားရတဲ့ Analog Data တစ်မျိုး။ Analog ဆိုတဲ့အတိုင်း စဉ်ဆက်မပြတ် ဝင်ရောက်နေသောလို့ အဓိပ္ပါယ်ရတယ်။ ဒါပေမယ့် ကွန်ပျူတာမှာ Digital ပဲ ရှိတယ်။ ဒီတော့ ဘယ်လို ဘာသာပြန်ပြီး သိမ်းကြမလဲ? စာ တုန်းက ASCII Table သုံးတယ်။ ပုံ တုန်းကတော့ RGB လို အဓိက အရောင် (၃)​ ရောင် ကို အခြေပြုပြီး သိမ်းကြတယ်။ အသံ မှာ ကြတော့ မျိုးစုံ။ ပင်မ အသံဆိုပြီးလည်း မရှိ။ Physic ဘက်မှာတော့ အသံကို wave ဆိုပြီး represent လုပ်တာ ရှိတယ်။

ဉပမာ “မင်္ဂလာပါ” လို့ နှုတ်ဆက်တဲ့ အသံကို ကွန်ပျူတာမှာ သိမ်းကြည့်ရအောင်။

“မင်္ဂလာပါ” လို့ နှုတ်ဆက်တဲ့အသံဟာ (၁) စက္ကန့် ကြာတယ်ဆိုပါစို့။

ဒီ (၁) စက္ကန့်စာ အသံကို မြင်သာအောင် ပုံဖော်ရမယ်ဆိုရင် wave တွေ အများကြီးကို တစ်ဆက်တည်း ဆွဲပြရလိမ့်မယ်။

ပထမဆုံး တစ်စက္ကန့်စာ ကို အရင် binary ပြောင်းကြမယ်။

ဒီ တစ်က္ကန့်ထဲမှာ wave တွေ ထောင်သောင်းချီပြီး ပါတယ်။ ဒါပေမယ့် ကွန်ပျူတာဆိုတာ ကန့်သတ်ချက်ရှိတယ်။ ဒီတော့ ဒီ wave တွေ အကုန်လုံးကို သိမ်းဖို့ဆိုတာ မဖြစ်နိုင်ဘူး။ ဒါနဲ့ တစ်စက္ကန့်အတွင်းမှာ ရှိတဲ့ wave တွေကို အစိတ်ကလေးတွေ ထပ်စိတ်လိုက်တယ်။ ဒီလို တစ်စက္ကန့်စာ wave တွေကို ဘယ်နှစ်စိတ် ထပ်စိတ်မယ်ဆိုတာကို sample rate လို့ ခေါ်တယ်။ များသောအားဖြင့်တော့ sample rate 44.1 khz (kilohertz) အစိတ် လေးသောင်း လေးထောင် လောက် ထပ်စိတ်ပြီး စိတ်လိုက်တဲ့ နေရာက amplitude ကို သင်္ချာဂဏန်း ပြောင်းလိုက်တယ်။ amplitude ဆိုတာ လှိုင်းအမြင့် လို့ ပြောရမယ်။ လှိုင်းအမြင့်ကို သင်္ချာဂဏန်းပြောင်းတဲ့အခါ များသောအားဖြင့် 16-bit အဖြစ် ပြောင်းကြတယ်။ ဒါကို sample resolution လို့ ခေါ်တယ်။

ဒီတော့ “မင်္ဂလာပါ” လို့ နှုတ်ဆက်တဲ့ တစ်စက္ကန့်စာ အသံမှာ

Sound Sample - 44,100 ရှိပြီး Sample တစ်ခုစီကို 16-bit နဲ့ သိမ်းကြတယ်။

Sample Rate နဲ့ Sample Resoltion အပေါ်မူတည်ပြီး ဖိုင်အရွယ်အစား နဲ့ အသံအရည်အသွေး အတိုးအလျော့ ရှိမယ်။

, 24-bit စသည်ဖြင့် bit အရေအတွက်တစ်ခု သတ်မှတ်ပြီး ပြောင်းကြတယ်။

အသံဆိုတာကို စာရွက်ပေါ်မှာ မြင်သာအောင် ချဆွဲပြရမယ်ဆိုရင် လှိုင်းပုံတွေ ဆွဲပြီး ပြရမယ်ထင်တယ်။

အသံကို ဘယ်လို Present လုပ်ကြလဲ?

Frequency - Hertz နဲ့။

ထင်တာက အသံတွေကို

အနိမ့် အမြင့်နဲ့ ခွဲတယ် မှတ်နေတာ

အခု ကြည့်ကြည့်တော့ wave lenght လိုမျိုး Amplitude ဆိုပြီး အမြင့်ကိုလည်း ကြည့်သလား?

Sampling ဆိုတာ

တစ်စက္ကန့်အတွင်း ဘယ်နှစ်ပိုင်း ဖြတ်မလဲဆုံးဖြတ်တာမျိုး။

UP and Down သွားနေတဲ့ wave ကြီးတစ်ခု ရှိမယ်ပေါ့။ လှိုင်းတွေကလည်း အများကြီး.

အကုန်လုံးကိုလည်း မမှတ်နိုင်တော့

အပိုင်း လေးသောင်းလောက်ပဲ​ခွဲလိုက်တယ်။

ဒါဆို တစ်ပိုင်းခြင်းစီမှာ wave သေးသေးလေးတစ်ခု ရှိနေမယ်။ Intersection Point တွေမှာ ရှိနေတဲ့ တန်ဖိုးကို ယူတာ။ ဆိုတော့ကာ Amplitude (​လှိုင်းအမြင့်ပေါ့ ? )

အဲ့တာကို သင်္ချာလို ဘယ်လိုပြောင်း? အဲ့ Wave ရဲ့ amplitude ကို ယူမှာလား? လှိုင်းအမြင့်ပေါ့။ ဒါမှ မဟုတ် Wave Lenght ကို ယူမှာလား Wave Cycle ကို ယူမှာလား?

cycle တစ်ခုစာ တစ်စက္ကန့်အတွင်း ဘယ်နှစ်ခု ပါလဲ​ကြည့်တာမျိုး။

ဒစ်ဂျစ်တယ် ဓာတ်ပုံတွေဟာ တကယ်တော့ Pixel လို့ ခေါ်တဲ့ အစက်ကလေးတွေ အများကြီး စုထားတာမျိုး။

အခုပဲ ကိုယ့်ဖုန်းထဲက Camera ထဲကို ဝင်ပြီး နောက်ဆုံးရိုက်ခဲ့တဲ့ ပုံရဲ့ pixel အရေအတွက်ကို ကြည့်ကြည့်လိုက်ပါ။ ကျွန်တော် နောက်ဆုံးရိုက်ခဲ့တဲ့ ပုံကတော့

အလျားမှာ 4080 pixel နဲ့ အနံမှာ 2072 pixel ရှိတယ်။

ဆိုတော့ကာ ဒီပုံမှာ pixel ပေါင်း 4,080 * 2,072 = 8,453,760 Pixel ပါတယ်လို့ ပြောနိုင်တယ်။

Pixel ဆိုတာ ဘာလဲ?

Pixel ဆိုတာ အစက်ကလေးတစ်စက်လို့ ပြောရမယ်။ အဲ့အစက်ကလေးမှာ အရောင်ရှိတယ်ပေါ့။ အဖြူရောင်ဖြစ်ကောင်းဖြစ်မယ်။​ အနက်ရောင်ဖြစ်ကောင်း ဖြစ်မယ်။ နောက် ကျန်တဲ့အရောင်တွေလည်း ဖြစ်နိုင်တယ်။

Pixel တစ်ခု ဘာရောင်လဲ ဆိုတာကို ဂဏန်းနဲ့ ပြလို့ရတယ်။

အပြင်လောကက အရောင်တွေကို ကွန်ပျူတာက သိဖို့အတွက် ကျွန်တော်တို့ အဓိက အရောင်ကြီး (၃) ခုကို ဂဏန်းတွေနဲ့ ပြောင်းပြီး မှတ်လိုက်တယ်။

အဓိက အရောင် (၃) မျိုးက

Red Green Blue

စံနမူနာ အနေနဲ့ကတော့ RGB လို့ ခေါ်တဲ့ Red, Green, Blue (၃) ရောင်စပ်ထားတဲ့ အရောင်ကို ယူကြတယ်။ အရောင်စပ်တဲ့အခါမှာလည်း အရောင်တစ်ရောင်အတွက် 8-bit ပေးထားတယ်။ ဒီတော့ အရောင်တစ်ရောင်ကို 0 ကနေ 255 အထိ စပ်နိုင်တယ်။

ဆိုပါစို့ အနီရောင် စပ်ချင်တယ်ဆိုရင်

R -> 255 G -> 0 B -> 0

ဒါဆို ဒီ Pixel ရဲ့ အရောင်က အနီရောင် ဖြစ်သွားမယ်။

တကယ်လို့ အညိုရောင် ရချင်တယ်ဆိုရင် ဘယ်လို လုပ်ကြမလဲ? Color Theory မှာတော့ အနီ နဲ့ အစိမ်း ဆတူ စပ်ရင် အညိုရောင်ရတယ်လို့ ဆိုတယ်။ ဒီတော့

R -> 255 G -> 255 B -> 0

ဒီလို စပ်လိုက်ရင် အဲ့ pixel ရဲ့ အရောင်က အညိုရောင် ဖြစ်သွားမယ်။

နမူနာ Hexadecimal များ

  • Mac Address
  • Color Code
  • ASCII
  • URL

Side Note

အပြင်လောက မြင်ရသမျှကို ကွန်ပျူတာက ဘယ်လိုမြင်လဲ?

အရောင်တွေကို ဂဏန်းနဲ့ မြင်တယ်။ ပြတယ်။

RGB 0-255 8-bit color ခေါ်ရမယ်။


ကွန်ပျူတာ သိပ္ပံ - အပိုင်း (၁ / ည ) ဒေတာတွေကို ချိန်ခွင်ပေါ်တင်ပြီး ချိန်တဲ့အခါ

ကွန်ပျူတာမှာတော့ ဘယ်ဖိုင်က အရွယ်အစား ဘယ််လောက်ရှိတယ်ဆိုတာကို အလွယ်တကူကြည့်နိုင်တယ်။ ဒါပေမယ့် အဲ့တာတွေ ဘယ်လိုတွက်လိုက်တာလဲ? အပြင်မှာ အလေးချိန် ဆိုရင် ပိဿာတို့ ကီလိုဂရမ်တို့ သုံးတယ်။ ဒေတာ တွေကိုကြတော့ ဘယ်လို unit တွေ သုံးကြလဲ? ဒီမေးခွန်းတွေရဲ့ အဖြေကို အခုအပိုင်းမှာ ဆွေးနွေးကြမယ်။

Bit

ဒါကတော့ ကွန်ပျူတာသိပ္ပံမှာ အသေးဆုံး ယူနစ်ပဲ။ 0 or 1 ကို သိမ်းနိုင်တဲ့ နေရာလေးကို bit လို့ ခေါ်တယ်။

ကျန်တဲ့ ဆက်သွယ်ချက်တွေကတော့

4 Bits -> 1 Nibble 8 Bits -> 1 Byte 1024 Bytes -> 1 Kibibyte (KiB) 1024 Kibibytes -> 1 Mebibyte (MiB) 1024 Mebibytes -> 1 Gibibyte (GiB) 1024 Gibibytes -> 1 Tebibyte (TiB) 1024 Tebibytes -> 1 Pebibyte (PiB) 1024 Pebibytes -> 1 Exbibyte (EiB)

ကျွန်တော်တို့ နေ့စဉ်ဘဝမှာ အသုံးများတာကတော့

Kibibyte (KiB) အစား Kilobyte (KB) ဆိုလိုတာက 1024 bytes မဟုတ်ပဲ 1000 bytes ပေါ့။

နောက် Mebibyte ( MiB ) အစား Megabyte ( MB ) 1,048,576 bytes အစား 1,000,000 bytes.

နောက် Gibibyte ( GiB ) အစား Gigabyte ( GB ) သူက 1024 ^ 3 အစား 1000 ^ 3 bytes ကို ဆိုလိုတာ။

ဒါဆိုရင်တော့ စာဖိုင်တစ်ခု၊ ဓာတ်ပုံတစ်ပုံ၊ အသံဖိုင်တစ်ခု ရဲ့ ဖိုင်အရွယ်အစားကို ကွန်ပျူတာ မကြည့်ပဲ​ကိုယ့်ဘာသာကိုယ် စပြီးတွက်ကြည့်နိုင်ပါပြီ။

ဉပမာ ပုံတစ်ပုံရဲ့ ဖိုင်အရွယ်အစားကို တွက်မယ်ဆိုရင် ဘာတွေလိုမလဲ?

  • ပုံရဲ့ အရွယ်အစား ( အလျား ၊ အနံ pixel အရေအတွက် ) - Resolution
  • pixel တစ်ခု ရဲ့ bit အရေအတွက် - Color Depth

ဒီနှစ်ခု သိရရင် စပြီး တွက်ကြည့်လို့ရပြီ။ အခုပဲ ကိုယ့်ဖုန်းထဲ / ကွန်ပျူတာထဲက ပုံတစ်ပုံကို ကြည့်ပြီး ဖိုင်အရွယ်အစား ဘယ်လောက်ရှိလဲ​တွက်ကြည့်ကြည့်ပါ။ ကိုယ်တွက်လိုက်တာက bits အနေနဲ့ ရလာလိမ့်မယ်။ အပေါ်က Convertion Table ကို ကြည့်ပြီး KB / MB စသည်ဖြင့် ပြန်ပြောင်းပြီး ကွန်ပျူတာ တွက်ပေးတဲ့ File Size နဲ့ ကိုယ့်ဘာသာကိုယ် လက်နဲ့ ချတွက်တဲ့ File Size တူ / မတူ တိုက်စစ်နိုင်ပါတယ်။

Data Compression

ဖိုင် size အကြီးကြီးတွေကို zip file ပြောင်းလိုက်ရင် ဖိုင်အရွယ်အစား တော်တော်လေး သေးသွားတာ ဘယ်လိုများ တွက်လိုက်တာလဲ?

ကွန်ပျူတာသိပ္ပံ ဆိုတာ သိပ်လှတဲ့ သင်္ချာ အီကွေးရှင်း တစ်ခု

အပြင်လောကမှာ ရှိနေတဲ့ အရာတွေ အကုန်လုံးကို သင်္ချာဂဏန်းတွေ ပြောင်းပြီး သိမ်းထားတာဟာ တော်တော်လှတဲ့ အကွက်လို့ ပြောရမယ်။ ပြောင်းတဲ့နေရာမှာ သုံးတဲ့ အီကွေးရှင်းဟာလည်း အလယ်တန်းကျောင်းသားတောင် နားလည်နိုင်တဲ့ ပုံစံဆိုတော့ သိပ်ရှုပ်ထွေးနေတာမရှိတာ တွေ့ရမှာပါ။

လူတွေရဲ့ အာရုံ (၅) ပါးမှာ

အမြင် အကြား အနံ အရသာ အထိအတွေ့

အဓိက အမြင်နဲ့ အကြား ကို ကွန်ပျူတာမှာ ကောင်းကောင်းမှတ်ထားနိုင်ပြီ ပြောရမယ်။ ဘယ်ပြောနိုင်မလဲ​နောက်ပိုင်း အနံတွေ အရသာတွေ နဲ့ အထိအတွေ့ တွေကိုလည်း မှတ်ကောင်း မှတ်ထားနိုင်မယ် ထင်ရဲ့။

Side Note

Amplitude, wavelength, and wave cycle are fundamental concepts in understanding waves, including sound waves.

Amplitude: Amplitude refers to the maximum displacement or distance of a wave from its rest position. In simpler terms, it represents the “height” of the wave. For example, in a sound wave, the amplitude corresponds to the maximum pressure variation from the average atmospheric pressure. In a transverse wave like a water wave or a wave on a string, it represents the maximum distance the medium (water or string) moves up or down from its rest position.

Wavelength: Wavelength is the distance between two consecutive points in a wave that are in phase, meaning they are at the same point in their respective cycles. In other words, it is the length of one complete cycle of the wave. For example, in a sound wave, it represents the distance between two consecutive compressions or rarefactions. In a transverse wave, like a light wave or a water wave, it represents the distance between two consecutive peaks or troughs.

Wave Cycle: A wave cycle is one complete pattern of oscillation in a wave. It starts from a certain point, goes through its maximum displacement in one direction, returns to its starting position, goes through its maximum displacement in the opposite direction, and returns again to its starting position, completing one full cycle. In a sound wave, for example, one cycle would include both a compression (where the air molecules are pushed closer together) and a rarefaction (where the air molecules are spread apart).

Yes, despite representing sound in digital formats using numerical values, modern computers and audio systems are capable of reproducing sound with remarkable accuracy and fidelity. Here’s how they achieve this:

High Sampling Rates: Digital audio is typically sampled at very high rates, such as 44,100 samples per second (44.1 kHz) or even higher (e.g., 48 kHz, 96 kHz, or 192 kHz). This high sampling rate allows for accurate capture and reproduction of a wide range of audio frequencies, including those within the range of human hearing.

High Bit Depths: Digital audio systems often use high bit depths, such as 16-bit or 24-bit, to represent the amplitude of each audio sample. Higher bit depths provide greater dynamic range and resolution, allowing for more accurate representation of subtle variations in sound amplitude.

Digital-to-Analog Conversion (DAC): When playing back digital audio, computers use digital-to-analog converters (DACs) to convert the digital audio data into analog signals that can be sent to speakers or headphones. High-quality DACs can accurately reconstruct the original analog waveform from the digital samples, preserving the nuances of the original sound.

High-Quality Audio Components: Modern computers and audio equipment often include high-quality audio components, such as amplifiers and speakers or headphone drivers, that are capable of accurately reproducing sound with minimal distortion and noise.

Signal Processing Algorithms: Digital audio processing algorithms, including filtering, equalization, and compression, are used to enhance and optimize the sound quality while minimizing artifacts and distortions.

By employing these techniques, computers and audio systems can reproduce sound with a high degree of accuracy and fidelity, allowing us to hear audio content with excellent quality and clarity. However, it’s important to note that the quality of the audio playback also depends on the quality of the audio source, the speakers or headphones used, and the acoustics of the listening environment.

https://medium.com/nerd-for-tech/the-color-theory-why-do-computers-use-rgb-instead-of-ryb-205b75d6e783

Written on April 8, 2024