PHP如何將一個(gè)正整數(shù)擴(kuò)大一千倍

這篇文章給大家分享的是有關(guān)PHP如何將一個(gè)正整數(shù)擴(kuò)大一千倍的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)公司專注于丹江口網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供丹江口營(yíng)銷型網(wǎng)站建設(shè),丹江口網(wǎng)站制作、丹江口網(wǎng)頁(yè)設(shè)計(jì)、丹江口網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造丹江口網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供丹江口網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

php有什么用

php是一個(gè)嵌套的縮寫名稱,是英文超級(jí)文本預(yù)處理語(yǔ)言,它的語(yǔ)法混合了C、Java、Perl以及php自創(chuàng)新的語(yǔ)法,主要用來(lái)做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因?yàn)閜hp是開源的,從而使得php經(jīng)久不衰。

                           

方案制定

如何最高效率的將一個(gè)正整數(shù)擴(kuò)大一千倍?

當(dāng)這個(gè)問(wèn)題被拋給人腦的時(shí)候,接受過(guò)優(yōu)秀的九年義務(wù)教育的我們稍加思索就能給出一個(gè)調(diào)皮而又不失大師風(fēng)范的答案:添三個(gè)零就行了~

但是當(dāng)這個(gè)問(wèn)題交給程序員用代碼解決的時(shí)候,問(wèn)題就要從編程的角度去考慮。我作為phper第一時(shí)間想到的方案分別是

  • 方案1:在數(shù)字末尾粘連字符串 “000”

  • 方案2:將原數(shù)字簡(jiǎn)單的乘以 1000

當(dāng)我把這個(gè)問(wèn)題丟給我的朋友的時(shí)候,他告訴我:

方案1肯定不行!你應(yīng)該采用方案2,但是如果你足夠雞賊的話,你應(yīng)該采用正整數(shù) X 1024 - 正整數(shù) X 24!

因?yàn)橛?jì)算機(jī)是二進(jìn)制,當(dāng)你告訴他要乘以1000的時(shí)候,他會(huì)進(jìn)行正整數(shù) X 512 + 正整數(shù) X 256 + 正整數(shù) X 128 + 正整數(shù) X 128 + 正整數(shù) X 64 + 正整數(shù) X 32 + 正整數(shù) X 8,一直累加到湊齊 正整數(shù)的 1000 倍 為止。而運(yùn)算2的10次方要比那一串加號(hào)更快接近結(jié)果。

實(shí)踐出真知

大佬的這段話很快打動(dòng)了我。為了踐行大佬的真知,證明大佬的闡述對(duì)我猶如醍醐灌頂般點(diǎn)醒夢(mèng)中人,我迅速寫出了一小段方法,將一個(gè)隨機(jī)正整數(shù)擴(kuò)大1000倍的算法用三種不同的方法分別跑 一千萬(wàn)次,查看各個(gè)方法運(yùn)行的效率(使用框架:laravel)

// 圖表內(nèi)容

$headers = ['次數(shù)', '方案1:拼接法', '方案2:乘1000', '方案3:乘以 1024'];

$data = [

    [0=>'第一次'],

    [0=>'第二次'],

    [0=>'第三次']

];

// 每個(gè)方法執(zhí)行三次

for ($count = 0; $count < 3; $count ++) {

    // 生成變量名 : plan1start1

    $start = Carbon::now()->getPreciseTimestamp();

    for ($i = 0; $i < 10000000; $i ++)

    {

        $integer = rand(1, 999);

        $result = (int)($integer . '000');

    }

    $end = Carbon::now()->getPreciseTimestamp();

    $data[$count][] = ($end - $start)/1000000 . '秒';

}

for ($count = 0; $count < 3; $count ++) {

    $start = Carbon::now()->getPreciseTimestamp();

    for ($i = 0; $i < 10000000; $i ++)

    {

        $integer = rand(1, 999);

        $result = $integer * 1000;

    }

    $end = Carbon::now()->getPreciseTimestamp();

    $data[$count][] = ($end - $start)/1000000 . '秒';

}

for ($count = 0; $count < 3; $count ++) {

    $start = Carbon::now()->getPreciseTimestamp();

    for ($i = 0; $i < 10000000; $i ++)

    {

        $integer = rand(1, 999);

        $result = $integer * 1024 - $integer * 24;

    }

    $end = Carbon::now()->getPreciseTimestamp();

    $data[$count][] = ($end - $start)/1000000 . '秒';

}

$this->table($headers, $data);

將這段代碼運(yùn)行多次后均得到一個(gè)較為穩(wěn)定的結(jié)果:

PHP如何將一個(gè)正整數(shù)擴(kuò)大一千倍

感謝各位的閱讀!關(guān)于“PHP如何將一個(gè)正整數(shù)擴(kuò)大一千倍”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

文章題目:PHP如何將一個(gè)正整數(shù)擴(kuò)大一千倍
文章鏈接:http://muchs.cn/article18/jcjidp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、移動(dòng)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、用戶體驗(yàn)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)