PHP တွင်ကွဲပြားသောဂဏန်းများအကြားပြောင်းလဲမှုများကိုကိုင်တွယ်ခြင်းမှာဘုံလုပ်ငန်းဖြစ်သည်။ အဆိုပါ bindec () function ကို PHP မှထုတ်ပေးသော function တစ်ခုဖြစ်ပြီးအထူးသဖြင့်ပြောင်းလဲရန်အထူးလေ့ရှိသည်။ ဤဆောင်းပါးသည် Bindec () , ပြောင်းလဲခြင်းယုတ္တိဗေဒနှင့်၎င်း၏ဆက်နွယ်မှုများနှင့်ပြည့်စုံသောကိန်းဂဏန်းများနှင့်ဆက်စပ်သောကိန်းဂဏန်းများ (INTS) နှင့်အတူဤဆောင်းပါးသည်နက်ရှိုင်းသောခွဲခြမ်းစိတ်ဖြာမှုကိုလေ့လာလိမ့်မည်။
Bindec () သည် binary string ကိုအငြင်းပွားမှုတစ်ခုအဖြစ်ယူပြီးသက်ဆိုင်ရာဒ decimal မကိန်းကိုပြန်ပို့သည်။ ဥပမာအားဖြင့်:
echo bindec("1010"); // ထုတ်လုပ်ခြင်း 10
ဤ ဥပမာသည်ရိုးရိုးရှင်းရှင်းနှင့်အလိုလိုသိမှု ,
မှတ်သားသင့်သည်မှာ Bindec () သည် နံပါတ်များထက်ကြိုးများကိုလက်ခံရရှိကြောင်းသတိပြုသင့်သည်။ input ကိုသက်သက်သာသာလွန်ကောင်းမွန်စွာဆိုလျှင်ပင်၎င်းသည် string တစ်ခုဖြစ်ရမည်။
bindec("1101"); // မှန်ကန်သော
bindec(1101); // မအကြံပြုပါ,ရှုပ်ထွေးစေနိုင်သည်
Bindec () အလေးမထားသောအလေးများ (2 ^ n) ကိုအလေးမထားသည့်အလေး (2 ^ n) ကိုအနှစ်ချုပ်အလေး (2 ^ n) ကိုရေတွက်ခြင်းဖြင့်ပြောင်းလဲခြင်းကိုမအခြေခံအားဖြင့်ပြောင်းလဲခြင်းကိုပြီးမြောက်စေသည်။
bindec ("1101") ကို ဥပမာတစ်ခုအဖြစ်ယူပါ။
1*(2^3) + 1*(2^2) + 0*(2^1) + 1*(2^0)
= 8 + 4 + 0 + 1
= 13
ဤလုပ်ဆောင်မှုယုတ္တိဗေဒသည်စံဒှိဒွန်မှဒ decimal မ algorithm နှင့်အလွန်ကိုက်ညီသည်။ PHP သည်အလွန်ထိရောက်သောကတိဘာသာစကားဖြင့်သာအကောင်အထည်ဖော်သည်။
PHP မှကိန်းဂဏန်းများသည်အထက်ပိုင်းကန့်သတ်ချက် (32-bit သို့မဟုတ် 64-bit) သည်ပလက်ဖောင်းပေါ် မူတည်. 32-bit သို့မဟုတ် 64-bit) ဖြစ်သည်။ သို့သော် Bindec () သည်ဤအကွာအဝေးကိုကန့်သတ်ထားသည်မဟုတ်။ Binary string သည် PHP Int ၏အများဆုံးတန်ဖိုးကိုကျော်လွန်သောအခါ PHP INT ကိုကျော်လွန်သွားသောအခါ, အမျိုးအစား float ၏ပြန်အမ်းငွေသည် float ဖြစ်လိမ့်မည်။
ဥပမာ -
echo bindec("1111111111111111111111111111111111111111111111111111111111111111");
// ထုတ်လုပ်ခြင်း 18446744073709551615(64 မရေွှးသော 1)
64-bit ပလက်ဖောင်းများတွင်ဤရလဒ်ကိုကိန်းဂဏန်းတစ်ခုအဖြစ်ပြန်လည်ရောက်ရှိနိုင်ဆဲဖြစ်သည်။ 32-bit ပလက်ဖောင်းပေါ်တွင်ရလဒ်သည် floating အမှတ်နံပါတ်ဖြစ်လာလိမ့်မည်။
ထို့အပြင် floating point ကိုအများဆုံးတိကျမှန်ကန်မှုကိုကျော်လွန်ပါကရလဒ်သည်မတိကျဖြစ်လာပါလိမ့်မည်။ ထို့ကြောင့် Ultra - ရှည်လျားသော binary strings များနှင့်ဆက်ဆံရာတွင် BCMATH သို့မဟုတ် GMP တိုးချဲ့ချက်များကိုထည့်သွင်းစဉ်းစားသင့်သည်။
developer အတော်များများသည် bindec () နှင့် decbin () နှင့် decbin () ကို ပေါင်းစပ်ထားပြီး partitions အကြားအပြန်အလှန်ပြောင်းလဲခြင်းကိုပြုလုပ်ရန်ပေါင်းစပ်ထားလိမ့်မည်။
$dec = bindec("100101");
$bin = decbin($dec);
echo $bin; // ထုတ်လုပ်ခြင်း 100101
ဤအပြန်အလှန်ဆက်သွယ်မှုသည်လုံးဝယုံကြည်စိတ်ချရသော်လည်း input binary string သည် format သတ်မှတ်ချက်များနှင့်ကိုက်ညီမှသာ 0 နှင့် 1 ထက်အခြားစာလုံးများမပါဝင်နိုင်ပါကမှသာလျှင် 0 နှင့် 1 တွင်အက္ခရာများမပါဝင်နိုင်ပါကသာလျှင် 0 နှင့် 1 မှစာလုံးများမပါဝင်နိုင်ပါကမှသာလျှင် 0 နှင့် 1 မှစာလုံးများမပါဝင်နိုင်ပါကမှသာလျှင် 0 နှင့် 1 မှ စာလုံးများမပါဝင်နိုင်ပါကမှသာလျှင် 0 နှင့် 1 တွင်မပါဝင်နိုင်ပါကသာ
Bindec () က binary non-binary ဇာတ်ကောင်ပြီးနောက်အပိုင်းကိုလျစ်လျူရှုထားသည်။ ဥပမာအားဖြင့်:
echo bindec("11012"); // ထုတ်လုပ်ခြင်း 13,"2" လျစ်လျူရှုခြင်း
ဤအချက်က PHP ၏ Bindec () Bindec () သည်သည်းခံစိတ်မဟုတ်ကြောင်းပြသသည်။ ထို့ကြောင့်မခေါ်ဆိုမီ input verification ပြုလုပ်ရန်အကြံပြုသည်။
function is_valid_binary($str) {
return preg_match('/^[01]+$/', $str);
}
ဤစစ်ဆေးမှုကိုအသုံးပြုခြင်းသည်ယုတ္တိရှိသောအမှားအယွင်းများကိုရှောင်ရှားနိုင်သည်။
Bindec () ကိန်းဂဏန်းများကိုပြန်ပို့သော်လည်း (သို့မဟုတ်ကြီးမားသောကိန်းကြီးတစ်ခုတွင် float) ကိုပြန်ပို့သော်လည်း၎င်း၏ input သည်အမြဲတမ်း string တစ်ခုဖြစ်သည်။ ၎င်းသည်အောက်ခြေရှိ PHP ၏တက်ကြွသောအမျိုးအစားစနစ်ဖြင့်ပြုလုပ်သောသွယ်ဝိုက်ပြောင်းလဲမှုများကိုထင်ဟပ်စေသည်။ PHP သည်အမျိုးအစားကြေငြာချက်များကိုအတင်းဖိအားမပေးသော်လည်းသင် interface တစ်ခုကိုဒီဇိုင်းဆွဲသောအခါမျှော်လင့်ထားသည့်အမျိုးအစားများကိုရှင်းလင်းစွာဒီဇိုင်းပြုလုပ်သင့်သည်။
ဥပမာအားဖြင့်, function တစ်ခုသည် bindec () indexing indexing သို့မဟုတ် bit outpution အတွက် output ၏ရလဒ်ကိုမှီခိုနေပါကအတင်းအဓမ္မစာအမျိုးအစားစစ်ဆေးခြင်းသည်အထူးအရေးကြီးသည်။
အသုံးများသောအသုံးပြုမှုသည်ခွင့်ပြုချက်စနစ်ဖြစ်သောခွင့်ပြုချက်စနစ်ဖြစ်သည်။ ဥပမာအားဖြင့်:
$binaryPermission = "1011"; // 代表四မရေွှးသောခွင့်ပြုချက်:1 ။1、1 ။2和1 ။4မရေွှးသော启用
$permissions = bindec($binaryPermission);
// 检查1 ။3နည်းနည်းဖြစ်ပါတယ်1(လက်ျာဘက်မှ left မှရေတွက်)
if ($permissions & (1 << 2)) {
echo "ခွင့်ပြုချက်3enabled";
}
ဤအခြေအနေမျိုးတွင် Bindec () သည် ခွင့်ပြုချက်အလံကြိုး string ကိုတစ် ဦး ကိန်းဂဏန်းမျက်နှာဖုံးထဲသို့ထိရောက်စွာပြောင်းလဲနိုင်ပြီးပြည်နယ်ကိုနည်းနည်းစစ်ဆင်ရေးနှင့်လျင်မြန်စွာဆုံးဖြတ်နိုင်သည်။