PHP တွင်ရွှေ့ပြောင်းခံရသောအော်ပရေတာသည်သာမန်ကိန်းများအတွက်သင့်တော်သော်လည်းတန်ဖိုးသည်ကိန်းဂဏန်းများထက်ကျော်လွန်သောအခါပုံမှန်ရွှေ့ပြောင်းမှုစစ်ဆင်ရေးသည်ပျက်ကွက်သို့မဟုတ်လျှံနေလိမ့်မည်။ ဤကန့်သတ်ချက်ကိုဖြေရှင်းရန် GMP (GNU Multiple Precision) စာကြည့်တိုက်ကိုသုံးနိုင်သည်။
Linux ပတ် 0 န်းကျင်အများစုတွင် GMP extension များကို Package Manager မှတစ်ဆင့် install လုပ်နိုင်သည်။
<span class="fun">sudo apt-get install php-gmp install လုပ်ပါ</span>
တပ်ဆင်ပြီးပါကသက်ဆိုင်ရာ configuration ပစ္စည်းများမမှတ်ချက်ပေးရန်သေချာစေရန် Php.ini တွင် GMP တိုးချဲ့ရန်လိုအပ်သည်။
<span class="fun">extension = gmp</span>
PHP 0 န်ဆောင်မှုကိုပြန်လည်စတင်ပြီးနောက် Php -m ကို run ပါ GMP GMP သည် GMP extension ကိုအောင်မြင်စွာဖွင့်သည်ကိုစစ်ဆေးရန်။
GMP စာကြည့်တိုက်သည်ပြောင်းလွယ်ပြင်လွယ်ရှိသောလုပ်ဆောင်မှုများကိုစွန့်ပစ်ပစ္စည်းများကိုအကောင်အထည်ဖော်ရန်အတွက်ပြောင်းလွယ်ပြင်လွယ်လုပ်ဆောင်မှုများကိုပေးသည်။ အောက်ပါဥပမာသည် 2 ၏စွမ်းအားဖြင့်မြှောက်ခြင်းဖြင့်ရွှေ့ပြောင်းရေးလုပ်ငန်းများကိုမည်သို့တုပနိုင်ပုံကိုပြသသည်။
<?php
$number = gmp_init("12345678901234567890"); // ကြီးမားသောနံပါတ်များကိုစတင်ပါ
// ဘယ်ဘက်ကိုရွှေ့ပါ2မြင်းဇက်ကြိုး
$shiftedLeft = gmp_mul($number, gmp_pow(2, 2));
// 向右မြင်းဇက်ကြိုး移3မြင်းဇက်ကြိုး
$shiftedRight = gmp_div($number, gmp_pow(2, 3));
echo "မူရင်းတန်ဖိုး:" . $number . "\n";
echo "ဘယ်ဘက်ကိုရွှေ့ပါ2မြင်းဇက်ကြိုး后的结果:" . $shiftedLeft . "\n";
echo "向右မြင်းဇက်ကြိုး移3မြင်းဇက်ကြိုး后的结果:" . $shiftedRight . "\n";
?>
အထက်ပါကုဒ်တွင်ပထမ ဦး စွာ String ပုံစံတွင်ကြီးမားသောနံပါတ်များကို GMP_INIT မှတဆင့် GMP အရာဝတ်ထုများသို့ပြောင်းလဲသွားသည်။ GMP_MUL နှင့် GMP_POW ကို ပေါင်းစပ်ခြင်းအားဖြင့်ဘယ်ဘက်ပြောင်းလဲမှုသည် 2 နှင့်မြှောက်ခြင်း၏စွမ်းအားနှင့်ညီမျှသည်။ GMP_DIV အားဖြင့်ညာဘက်ပြောင်းလဲမှုသည် 2 ဖြင့်ခွဲဝေပိုင်စွမ်းအားနှင့်ညီမျှသည်။
PHP ၏ GMP extension ကို အသုံးပြု. အရေအတွက်သည်အလွယ်တကူအိုးအိမ်စွန့်ခွာထွက်ပြေးရလွယ်ကူပြီးကိန်းဂဏန်းပြည့်လျှံနှင့်တိကျမှုနှင့်တိကျမှုဆုံးရှုံးမှုကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဤဥပမာသည် developer များကမည်သည့်အရွယ်အစားကိန်း၏မဆိုအိုးအိမ်စွန့်ခွာတိမ်းရှောင်မှုလိုအပ်ချက်များကိုအလွယ်တကူကိုင်တွယ်ရန်အခြေခံကျသောအသုံးပြုမှုနည်းလမ်းများကိုပြသသည်။