国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php實現統計二進制中1的個數算法示例

php實現統計二進制中1的個數算法示例

2019-10-24 16:27重口味AC PHP教程

這篇文章主要介紹了php實現統計二進制中1的個數算法,結合實例形式分析了php字符串遍歷、判斷、統計等相關操作技巧,需要的朋友可以參考下

本文實例講述了php實現統計二進制中1的個數算法。分享給大家供大家參考,具體如下:

問題

輸入一個十進制整數,輸出該數二進制表示中1的個數。其中負數用補碼表示。

解決思路

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

實現代碼

//解法一
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){ // 處理負數
   $n = $n&0x7FFFFFFF;
   ++$count;
 }
 while($n != 0){
  $count++;
  $n = $n & ($n-1);
 }
 return $count;
}
//測試
$num=45;
echo $num."的二進制是".decbin($num)."<br/>";
echo $num."共有".NumberOf1($num)."個1";

運行結果:

php實現統計二進制中1的個數算法示例

希望本文所述對大家PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产在线欧美 | 国产色在线 | 天天影视网色香欲综合网无拦截 | 亚洲精品二区 | 欧美色图亚洲 | 狠狠爱亚洲 | av在线天堂| 午夜av影院 | 日韩一区二区三区在线视频 | 亚洲三区在线观看 | 女教师高潮叫床视频在线观看 | 国产成人精品一区二区三区视频 | 中文字幕一区二区三区四区 | 精品午夜久久 | 欧美成视频 | 免费在线国产 | 一区二区不卡视频 | 最新国产在线视频 | 黄a视频 | 国产成人毛片 | 亚洲国产精品成人va在线观看 | 伊人中文字幕 | 亚洲区欧美区 | 日韩欧美综合 | 黄色免费在线看 | 欧美一区二区三区在线 | 免费大片黄在线观看 | www.avtt天堂网 | 亚洲精品乱码久久久久久蜜糖图片 | 久久成人精品视频 | 久久国产精品视频 | 日本久久久久久久久久久久 | 中国性bbwbbwbbwbbw | 欧洲精品在线观看 | 91精品国产日韩91久久久久久 | 国产欧美日韩在线观看 | 日本涩涩视频 | 成人网色 | 国产亚洲精品久久久久动 | 亚洲激情在线观看 | 四虎视频|