PHP ပရိုဂရမ်တွင် Binary Data ကိုထုတ်ပေးသောအခါ Biny bit သည် 1 ဟုတ်မဟုတ်ဆုံးဖြတ်ရန်မကြာခဏလိုအပ်သည် ။ Php သည်လက်တွေ့ကျသောလုပ်ဆောင်ချက်နှစ်ခုကိုထောက်ပံ့ပေးသည် ။ ဤဆောင်းပါးသည်အချို့သော binary 1 ဟုတ်မဟုတ်ဆုံးဖြတ်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ရန်မည်သို့မိတ်ဆက်ပေးလိမ့်မည်။
bindec (string ကို $ binary_string): Int
သက်ဆိုင်ရာဒ decimal မကိန်းကို binary string ကိုပြောင်းသည်။
Decbin (INT $ decimal): string ကို
ဒ decimal မကိန်းများကိုသက်ဆိုင်ရာ binary string ကိုပြောင်းပါ။
ဥပမာအားဖြင့်:
echo bindec("101"); // ထုတ်လုပ်ခြင်း 5
echo decbin(5); // ထုတ်လုပ်ခြင်း "101"
ကျွန်ုပ်တို့တွင်ဒ decimal မကိန်းတစ်ခုရှိသည်ဆိုပါစို့။ $ POS bit (left မှထွက်ခွာသွားခြင်း, 0 င်မှရေတွက်ခြင်း) ဟုတ်မဟုတ်ပြောချင်သည်။
နံပါတ်တစ်ကို binary string ကိုပြောင်းသည်။
string အရှည်အပေါ်အခြေခံပြီးပစ်မှတ် bit ကို၏အညွှန်းကိန်းတွက်ချက်။
နည်းနည်းဇာတ်ကောင်သည် '1' ရှိမရှိစစ်ဆေးပါ။
<?php
function isBitSet($decimalNumber, $pos) {
// ဒ decimal မကိန်းကို binary string ကိုပြောင်းပါ
$binaryString = decbin($decimalNumber);
// string ကိုအတွက်ဒီနည်းနည်း၏အညွှန်းကိန်းတွက်ချက်,တစ် ဦး က binary string ကိုမှလက်ဝဲမှလက်ျာအမြင့်မှနိမ့်ဖို့ဖြစ်ပါတယ်
$index = strlen($binaryString) - 1 - $pos;
// အညွှန်းကိန်းထက်လျော့နည်းသည်ဆိုပါက0,ဒီနည်းနည်းအကွာအဝေးထဲကဖြစ်ပါတယ်ကြောင်းဖော်ပြသည်,ပုံမှန်အားဖြင့်ပြန်လာfalse
if ($index < 0) {
return false;
}
// သက်ဆိုင်ရာ bit ရှိမရှိဆုံးဖြတ်ရန် '1'
return $binaryString[$index] === '1';
}
// စမ်းသပ်မှု
$number = 13; // အဆိုပါ binary ဖြစ်ပါတယ်1101
$position = 2; // လက်ျာဘက်မှ2မြင်းဇက်ကြိုး,0အခြေစိုက်စခန်းညွှန်းကိန်း,Binary မှာ1
if (isBitSet($number, $position)) {
echo "1 ။ {$position} မြင်းဇက်ကြိုး是1";
} else {
echo "1 ။ {$position} မြင်းဇက်ကြိုး不是1";
}
?>
ထုတ်လုပ်မှု -
1 ။ 2 မြင်းဇက်ကြိုး是1
ဂဏန်းအရေအတွက်ကိုလက်ဝဲလက်ယာလက်ဝဲမှရေတွက်။ နိမ့်ဆုံးဂဏန်းသည် 0 ဖြစ်သည်။
decbin () ကိုအသုံးပြုသောအခါဒ decimal မကိန်းကို binary string တစ်ခုထဲသို့ပြောင်းလဲရန်အတွက် string ၏အရှည်သည်မျှော်လင့်ထားသည့်အရာအရေအတွက်ထက်လျော့နည်းနိုင်သည်။
သင် bits မျိုးစုံကိုသင်အကဲဖြတ်လိုပါကကွင်းဆက်များသို့မဟုတ် bit operations များကိုပေါင်းစပ်နိုင်သည်။
Decbin () နှင့် string index ကိုအသုံးပြုခြင်းသည်လုပ်ဆောင်မှုများကိုရရှိနိုင်ပါသည်ရှိသော်ဖြစ်သော်လည်းအချို့သောခွဲစိတ်ကုသမှုစွမ်းရည်သည်ပိုမိုမြင့်မားပြီးအရေးအသားနည်းလမ်းသည်ပိုမိုလွယ်ကူသည်။
function isBitSetBitwise($number, $pos) {
return (($number >> $pos) & 1) === 1;
}
သင်ဟာနည်းနည်းလေးတစ်ခုရှိမရှိဆုံးဖြတ်ရန်အထက်ပါ function ကိုသုံးနိုင်သည်။
အချို့သော bindec () နှင့် decbin ()) နှင့် decbin () functions များကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးသည်။ ၎င်းသည်ရိုးရှင်းသောသင်ယူမှုနှင့်နားလည်မှုကိုနားလည်ခြင်းနှင့်နားလည်ခြင်းကိုနားလည်ရန်အလွန်အထောက်အကူပြုသည်။