麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 邏輯算法 > 正文

php實(shí)現(xiàn)統(tǒng)計二進(jìn)制中1的個數(shù)算法的示例

2020-03-22 17:21:53
字體:
供稿:網(wǎng)友
這篇文章主要介紹了php實(shí)現(xiàn)統(tǒng)計二進(jìn)制中1的個數(shù)算法,結(jié)合實(shí)例形式分析了php字符串遍歷、判斷、統(tǒng)計等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了php實(shí)現(xiàn)統(tǒng)計二進(jìn)制中1的個數(shù)算法。分享給大家供大家參考,具體如下:

問題

輸入一個十進(jìn)制整數(shù),輸出該數(shù)二進(jìn)制表示中1的個數(shù)。其中負(fù)數(shù)用補(bǔ)碼表示。

解決思路

這是個位運(yùn)算的題目。
解法一:可以通過按位與操作,通過將每一位和1與操作來求出1的個數(shù)。
解法二(最優(yōu)解):一個巧妙的方法,一個不為0的二進(jìn)制數(shù),肯定至少有一位是1,當(dāng)這個數(shù)減一的時候,它的最后一位1會變?yōu)?,后邊的所有0會變?yōu)?。比如10100,減一之后會變?yōu)?0011,然后用原數(shù)字10100和10011進(jìn)行與操作之后,會得到10000,也就是通過這個操作,可以將一個1變?yōu)?,所以一個二進(jìn)制數(shù)字能進(jìn)行多少次這樣的操作,就有多少個1.

實(shí)現(xiàn)代碼

//解法一function NumberOf1($n) $count = 0; $flag = 1; while ($flag != 0) { if (($n $flag) != 0) { $count++; $flag = $flag 1; return $count;}

// 解法二function NumberOf1($n) $count = 0; if($n 0){ // 處理負(fù)數(shù) $n = $n 0x7FFFFFFF; ++$count; while($n != 0){ $count++; $n = $n ($n-1); return $count;}

//測試$num=45;echo $num. 的二進(jìn)制是 .decbin($num). br/ echo $num. 共有 .NumberOf1($num). 個1 

運(yùn)行結(jié)果:

您可能感興趣的文章:

PHP開發(fā)之用微信遠(yuǎn)程遙控服務(wù)器的相關(guān)講解

CI框架(CodeIgniter)操作redis的方法的詳解

php使用imagecopymerge()函數(shù)創(chuàng)建半透明水印的詳解

以上就是php實(shí)現(xiàn)統(tǒng)計二進(jìn)制中1的個數(shù)算法的示例的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美黄色免费视频 | 九九热精品在线视频 | 蜜桃网在线观看 | 欧美午夜网 | 亚洲精品一区二区三区免 | 国产一级性生活视频 | 得得啪在线| 国产精品久久久久久久久久电影 | www.99热精品 | 爱操影视 | 欧美日韩一区,二区,三区,久久精品 | 久草在线高清视频 | 成人勉费视频 | 日日狠狠久久偷偷四色综合免费 | 成码无人av片在线观看网站 | 欧美一级高潮片免费的 | 精品一区二区三区在线观看国产 | 国产亚洲精品久久午夜玫瑰园 | av电影在线免费观看 | 久久久综 | 中文字幕专区高清在线观看 | av在线收看 | 久久久久se | 在线播放黄色片 | 久久色播| 国产亚洲精品成人 | 国产精品美女久久久免费 | 国产午夜精品久久久久 | 极品国产91在线网站 | 天天草天天色 | 毛片中文字幕 | 久久综合网址 | 国产精品视频二区不卡 | 国产精品野外av久久久 | 91色琪琪电影亚洲精品久久 | 国产精品av久久久久久久久久 | 久久久久久久久国产 | 黄色成人av在线 | 999久久国精品免费观看网站 | 欧美一级黄色片在线观看 | 水多视频在线观看 |