PHP တွင် Bindec () function ကို binary နံပါတ်များကိုဒ decimal မကိန်းများ (ကြိုးများအဖြစ်ကိုယ်စားပြုသော) ကိုပြောင်းလဲရန်အသုံးပြုသည်။ မည်သို့ပင်ဆိုစေကာမူအမှန်တကယ်အသုံးပြုမှုတွင်သင်သည်အမှားအယွင်းများသို့မဟုတ်ပြ problems နာအချို့ကိုကြုံတွေ့ရနိုင်သည်။ ဤအသုံးများသောအမှားများကိုနားလည်ခြင်းနှင့်အကြံဥာဏ်များကိုကိုင်တွယ်ရန်သင့်အားဤပြ issues နာများကိုရှောင်ရှားရန်သို့မဟုတ်ဖြေရှင်းရန်ကူညီပေးနိုင်သည်။
Bindec () function ၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$binary_string</span></span><span>);
</span></span>
$ binary_string : ၎င်းသည် Binary Number များပါ 0 င်သည့် string တစ်ခုဖြစ်သည်။
ပြန်လာတန်ဖိုးသည်ဒ decimal မကိန်းဖြစ်သည်။
ဥပမာအားဖြင့်:
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-string">'1101'</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:13</span></span><span>
</span></span>
Bindec () 0 0 နှင့် 1 ရေးစပ်ထားသော strings များကိုသာလက်ခံသည်။ အကယ်. string တွင်အခြားဇာတ်ကောင်များ (ဥပမာများ, သင်္ကေတများစသဖြင့်) ပါ 0 င်ပါကအမှားတစ်ခုသို့မဟုတ် 0 ကိုပြန်ပို့လိမ့်မည်။
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-string">'110a'</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:0</span></span><span>
</span></span>
အဆိုပါဖြတ်သန်း string ကိုသာ binary နံပါတ်များသာပါရှိသည်သေချာပါစေ။ အကယ်. သင် input ၏တရားဝင်မှုနှင့် ပတ်သက်. မသေချာပါက string format ကိုစစ်ဆေးရန် Preg_match () ကို သုံးနိုင်သည်။
<span><span><span class="hljs-variable">$binary_string</span></span><span> = </span><span><span class="hljs-string">'110a'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-string">'/^[01]+$/'</span></span><span>, </span><span><span class="hljs-variable">$binary_string</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-variable">$binary_string</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"မမှန်ကန်သော binary string ကို"</span></span><span>;
}
</span></span>
အကယ်. string သည် ဗိုင်းရပ် သို့ဖြတ်သန်းသွားပါက, ဤသည် 0 င်ဖြစ်လိမ့်မည်။ ဤသည်အမှားမဟုတ်သော်လည်း၎င်းသည်သင်မျှော်လင့်ထားသည့်အပြုအမူမဟုတ်ပါ။
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-string">''</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:0</span></span><span>
</span></span>
Bindec () မခေါ်မီ string သည်ဗလာမလားစစ်ဆေးပါ။ အချည်းနှီးဖြစ်လျှင်, default value ကိုပေးနိုင်ပါသည်သို့မဟုတ်အမှားမက်ဆေ့ခ်ျကိုအစပျိုးနိုင်ပါတယ်။
<span><span><span class="hljs-variable">$binary_string</span></span><span> = </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$binary_string</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"input ကို string ကိုဗလာမဖြစ်နိုင်ပါ"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-variable">$binary_string</span></span><span>);
}
</span></span>
Bindec () သည် ဦး ဆောင်သည့်ဇရိုလ်ကို Binary ကြိုးဖြင့်အလိုအလျောက်လျစ်လျူရှုလိမ့်မည်။ ဤသည်များသောအားဖြင့်များသောအားဖြင့်ပြောင်းလဲမှုများကိုတိတိကျကျကိုင်တွယ်လိုလျှင်, သင်က ဦး ဆောင်သောသုညများကိုတိကျစွာကိုင်တွယ်လိုပါက၎င်းတို့ကို ကြိုတင်. ဖယ်ရှားနိုင်သည်။
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-string">'0000101'</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:5</span></span><span>
</span></span>
သင်က ဦး ဆောင်ဇရိုလ်ကိုဖယ်ရှားရန်ရွေးချယ်နိုင်သည်သို့မဟုတ် debugging သို့မဟုတ် processing များအတွက်သူတို့ကိုထားခဲ့ပါ။
<span><span><span class="hljs-variable">$binary_string</span></span><span> = </span><span><span class="hljs-string">'0000101'</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-title function_ invoke__">ltrim</span></span><span>(</span><span><span class="hljs-variable">$binary_string</span></span><span>, </span><span><span class="hljs-string">'0'</span></span><span>)); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:5</span></span><span>
</span></span>
Binary string သည်အလွန်ကြီးမားသောနံပါတ်များကိုကိုယ်စားပြုသောအခါ Bindec () ကို မှန်ကန်စွာကိုင်တွယ်နိုင်မည်မဟုတ်ပါ။ PHP ၏ Integer Type သည်အသုံးအများဆုံးတန်ဖိုးများကိုအထောက်အကူပြုသော်လည်းပလက်ဖောင်းနယ်ပယ်မှနေသည့်တန်ဖိုးများအတွက်လျှံသို့မဟုတ်အမှားများဖြစ်ပေါ်နိုင်သည်။
<span><span><span class="hljs-variable">$large_binary</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_repeat</span></span><span>(</span><span><span class="hljs-string">'1'</span></span><span>, </span><span><span class="hljs-number">65</span></span><span>); </span><span><span class="hljs-comment">// ကေျာ်လွန် 64 မြင်းဇက်ကြိုး</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-variable">$large_binary</span></span><span>); </span><span><span class="hljs-comment">// လျှံစေနိုင်သည်</span></span><span>
</span></span>
Super-byiny binary strings များအတွက်, gmp_init () နှင့် gmp_strval () functions များကို အသုံးပြု. ,
<span><span><span class="hljs-variable">$large_binary</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_repeat</span></span><span>(</span><span><span class="hljs-string">'1'</span></span><span>, </span><span><span class="hljs-number">65</span></span><span>);
</span><span><span class="hljs-variable">$gmp_value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">gmp_init</span></span><span>(</span><span><span class="hljs-variable">$large_binary</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">gmp_strval</span></span><span>(</span><span><span class="hljs-variable">$gmp_value</span></span><span>); </span><span><span class="hljs-comment">// ကြီးမားသောနံပါတ်များကိုမှန်ကန်စွာပြောင်းလဲပါ</span></span><span>
</span></span>
အဆိုပါ bindec () function ကို function ကို binary ကိုယ်စားပြုမှု (ဥပမာဖြည့်စွက်) အဖြစ်အနှုတ်လက်ခဏာနံပါတ်များကိုအပြောင်းအလဲနဲ့မထောက်ပံ့ပါဘူး။ အနုတ်ကိန်းဂဏန်းများကိုကိုင်တွယ်ရန်လိုအပ်ပါကများသောအားဖြင့်သင်သည်ပုံမှန်အားဖြင့်ကိုယ်တိုင်ပြောင်းလဲရန်လိုအပ်သည်။
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-string">'-1101'</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:0,အဘယ်သူမျှမအနုတ်လက်ခဏာသင်္ကေတအသိအမှတ်ပြုခြင်း</span></span><span>
</span></span>
လက်ဖြင့်အနုတ်လက်ခဏာသင်္ကေတနှင့်ဘာသာပြောင်းကိုခွဲခြားသတ်မှတ်ပါ။
<span><span><span class="hljs-variable">$binary_string</span></span><span> = </span><span><span class="hljs-string">'-1101'</span></span><span>;
</span><span><span class="hljs-variable">$is_negative</span></span><span> = </span><span><span class="hljs-variable">$binary_string</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>] == </span><span><span class="hljs-string">'-'</span></span><span>;
</span><span><span class="hljs-variable">$binary_string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ltrim</span></span><span>(</span><span><span class="hljs-variable">$binary_string</span></span><span>, </span><span><span class="hljs-string">'-'</span></span><span>);
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-variable">$binary_string</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$is_negative</span></span><span>) {
</span><span><span class="hljs-variable">$decimal</span></span><span> = -</span><span><span class="hljs-variable">$decimal</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$decimal</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:-13</span></span><span>
</span></span>
အဆိုပါ bindec () function သည် PHP တွင်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ သို့သော်၎င်းတွင်ဘုံကန့်သတ်ချက်များနှင့်အလားအလာရှိသောပြ problems နာအချို့ရှိသည်။ input string ၏တရားဝင်မှု၏တရားဝင်မှုကိုသေချာစေရန်, ဦး ဆောင်သည့်ဇရိုလွင်နှင့်ကြီးမားသောတန်ဖိုးများကိုကိုင်တွယ်ခြင်းအားဖြင့်အသုံးအများဆုံးအမှားများကိုသင်ရှောင်ရှားနိုင်သည်။ အနုတ်လက္ခဏာများနှင့်အထူးပုံစံ Binary ကြိုးများအနေဖြင့်၎င်းကိုကိုယ်တိုင်ပြုလုပ်ရန်လိုအပ်သည်။ ဤနည်းစနစ်များကျွမ်းကျင်မှုသည် PHP ၏ Bindec () function ကိုပိုမိုထိရောက်စွာအသုံးပြုရန်ကူညီနိုင်သည်။