လွယ်လွယ်ပြောရင် Binary ဆိုတာ ကွန်ပျူတာ နားလည်တဲ့ တစ်ခုတည်းသော ဘာသာစကား — 0 နဲ့ 1 ဆိုတဲ့ ဂဏန်း နှစ်လုံးပဲ ရှိတယ်။ ကိုယ် screen ပေါ် မြင်နေတဲ့ စာတွေ၊ ပုံတွေ၊ video တွေ၊ AI တွေအထိ အကုန် နောက်ကွယ်မှာ 0 နဲ့ 1 တွေချည်း ဖြစ်နေတာ။

မီးခလုတ်နဲ့ ဥပမာပေးရအောင်။ အခန်းတစ်ခန်းမှာ မီးခလုတ် တစ်ခု ရှိတယ် ဆိုပါစို့ — ON ဒါမှမဟုတ် OFF၊ အခြေအနေ ၂ မျိုးပဲ ဖော်ပြလို့ရတယ်။ မီးခလုတ် ၂ ခု ရှိရင်? OFF-OFF၊ OFF-ON၊ ON-OFF၊ ON-ON — ၄ မျိုး ရတယ်။ ၃ ခု ဆို ၈ မျိုး။ မီးခလုတ် ၈ ခု တွဲထားရင် အခြေအနေ ၂၅၆ မျိုး ဖော်ပြလို့ရတယ်။ ကွန်ပျူတာလည်း အဲဒီအတိုင်းပဲ — သူ့ရဲ့ “မီးခလုတ်” က transistor လို့ခေါ်တဲ့ အသေးစား switch ဘီလီယံချီ ဖြစ်ပြီး ON = 1၊ OFF = 0 လို့ သတ်မှတ်ထားတာ။ 0 နဲ့ 1 နှစ်လုံးတည်း ရှိပေမယ့် တွဲစပ်နည်းပေါင်းများစွာနဲ့ အရာအားလုံး ဖော်ပြလို့ရတယ်။

ဒါကို လက်တွေ့ကြည့်ရအောင် —

1 bit = 0 ဒါမှမဟုတ် 1 တစ်လုံး
8 bit = 1 byte — byte တစ်လုံးက 0 ကနေ 255 အထိ ကိန်းဂဏန်း ၂၅၆ လုံး ကိုယ်စားပြုနိုင်တယ်
စာလုံး ‘A’ ကို ကွန်ပျူတာက 01000001 (65) လို့ မှတ်ထားတယ် — ဒါကို ASCII code လို့ ခေါ်တယ်။ ‘B’ ဆို 01000010
အရောင် အနီရောင် (255, 0, 0) ဆိုတာ တကယ်တော့ byte ၃ လုံး — အနီ 255၊ အစိမ်း 0၊ အပြာ 0

Binary ဖတ်နည်း — ညာဘက်ကနေ ဘယ်ဘက် 1၊ 2၊ 4၊ 8၊ 16… လို့ နှစ်ဆ တိုးသွားတာ။ ဥပမာ 1010 ဆို —

ညာဘက်ဆုံး 0 → 0 × 1 = 0
နောက် 1 → 1 × 2 = 2
နောက် 0 → 0 × 4 = 0
နောက် 1 → 1 × 8 = 8
စုစုပေါင်း 10။ ဒါကြောင့် binary 1010 = 10 ပေါ့။

ကိုယ်တိုင် စမ်းကြည့်ချင်ရင် —

Python ဖွင့်ပြီး bin(65) လို့ ရိုက်ကြည့် — ‘0b1000001’ လို့ ပြလိမ့်မယ် (0b ဆိုတာ binary ဖြစ်ကြောင်း ပြတာ)
0b1010 လို့ ရိုက်ရင် 10 လို့ ပြန်ပြတယ်
စာလုံးတစ်လုံးရဲ့ ASCII ကို သိချင်ရင် ord('A') → 65

ဘာလို့ 0 နဲ့ 1 ပဲ သုံးတာလဲ? ဘာလို့ဆို hardware အတွက် အလွယ်ဆုံးမို့ပဲ။ လျှပ်စစ်က “ရှိတယ် / မရှိဘူး” ဆိုတဲ့ အခြေအနေ နှစ်မျိုးပဲ ခွဲရတာ အတိကျဆုံး၊ အမြန်ဆုံး၊ အမှားအယွင်း အနည်းဆုံး။ ဂဏန်း ၁၀ လုံး သုံးတဲ့ စနစ် လုပ်လို့ရပေမယ့် လျှပ်စစ်အား အဆင့် ၁၀ ဆင့် တိတိကျကျ ခွဲရတာ ခက်ပြီး မှားဖို့ လွယ်တယ်။

နောက် ကိုယ် code ရေးတော့ x = 5 လို့ ရေးတိုင်း နောက်ကွယ်မှာ 0101 လေး အလုပ်လုပ်နေတယ် ဆိုတာ သတိရလိုက်။ ကွန်ပျူတာ ပညာရဲ့ အခြေခံက ဒီ 0 နဲ့ 1 နှစ်လုံးတည်းကပဲ စတာပါ။ 🙂